Initial commit
[amiga/OpenBoopsi.git] / include / gadgets / ScrollButtonClass.h
1 #ifndef SCROLLBUTTONCLASS_H
2 #define SCROLLBUTTONCLASS_H
3 /*
4 **      $Id: ScrollButtonClass.h,v 1.2 1999/01/30 13:23:12 bernie Exp $
5 **
6 **      Copyright (C) 1996,99 Bernardo Innocenti
7 **
8 **      This code is inspierd from ScrollerWindow 0.3
9 **      Copyright © 1994 Christoph Feck, TowerSystems.
10 **
11 **      Use 4 chars wide TABs to read this file
12 **
13 **      The ROM buttongclass has two problems which make it not quite usable
14 **      for scroll arrows. The first problem is the missing delay. Once the next
15 **      INTUITICK gets sent by input.device, the ROM class already sends a
16 **      notification. The other problem is that it also notifies us, when the
17 **      button finally gets released (which is necessary for command buttons).
18 **
19 **      We define two new classes with the GM_GOACTIVE and GM_HANDLEINPUT methods
20 **      overloaded to work around these problems. The ScrollButtonClass is a
21 **      subclass of the buttongclass, suitable for use in the borders of a window.
22 **      The FrScrollButtonClass is instead a subclass of the FrButtonGClass. Both
23 **      classes share the same dispatcher: the only difference is the superclass
24 **      passed at CreateClass() time.
25 */
26
27
28 #define SCROLLBUTTONCLASS       "scrollbuttonclass"
29 #define SCROLLBUTTONVERS        1
30
31
32 /* Functions to initialize and destroy the classes */
33
34 Class   *MakeScrollButtonClass (void);
35 Class   *MakeFrScrollButtonClass (void);
36 BOOL     FreeScrollButtonClass (Class *cl);
37
38 #define FreeFrScrollButtonClass FreeScrollButtonClass
39
40
41
42 /*****************/
43 /* Class Methods */
44 /*****************/
45
46 /* This class does not define any new methods */
47
48 /********************/
49 /* Class Attributes */
50 /********************/
51
52 /* #define SBA_Dummy (TAG_USER | ('S'<<16) | ('B'<<8)) */
53
54 /* This class does not define any new attributes */
55
56
57
58
59 #endif /* !SCROLLBUTTONCLASS_H */