Initial commit
[amiga/OpenBoopsi.git] / docs / ExtFrameIClass.doc
1 TABLE OF CONTENTS
2
3 extframe.image/extframe.image
4 \fextframe.image/extframe.image           extframe.image/extframe.image
5
6     NAME
7         extframe.image -- extended frame BBOPSI image (V1)
8
9     FUNCTION
10         The extframe class is a complete replacement of the built in
11         frameiclass provided by Intuition. It can render itself using the
12         pens specified by the application, or can use the standard DrawInfo
13         pens (like the original frameiclass) when the needed pens have not
14         been supplied. It offers some new frame type, like the well known
15         XEN frame. It offers an improved configurability (quite every aspect
16         of the frame can be configured), an extended IM_FRAMEBOX method and
17         some OS3 specific optimizations.
18         It is made to be as fast as possible and offer the possibility to
19         programmers to add new frame types with little or no changes at all
20         at the GM_RENDER method.
21         This class is a subclass of the imageclass, and support all the
22         attributes of the frameiclass class (at least it should), so you
23         must read their doc to learn the supported tags and their meaning.
24         Here I will list only the class specific tags or methods.
25
26     METHODS
27         IM_FRAMEBOX -- Ask the frame information on its size according to
28             its content. It is identical to the frameiclass method, but
29             offers a new flag beside the standard FRAMEF_SPECIFY. If you
30             specify the new FRAMEF_QUERY flag, you supply the FrameBox
31             (instead of the ContentsBox) and the frame will fill the
32             ContentsBox with the appropriate size/position value taking
33             into consideration the frame thickness, the space between the
34             frame and its contents, etc.
35
36     TAGS
37
38         IA_FrameDistance -- Space between the frame and the gadget in pixel.
39             Negative values are allowed.
40
41             Applicability is (ISG)
42
43         IA_InnerDistance -- Space between the two 'side' of a frame. For
44             example a inner distance of 0 pixel will make a FRAME_ICONDROPBOX
45             frame look like a FRAME_RIDGE frame. Currently this tag has
46             effect only on the FRAME_ICONDROPBOX frame.
47
48             Applicability is (ISG)
49
50         IA_PenBackground -- Specify the background pen. Used only if
51             you did not specify the IA_EdgesOnly attribute. If this
52             tag is not specified or is set to -1 the standard BACKGROUNDPEN
53             pen will be used.
54
55             Applicability is (ISG)
56
57         IA_PenSelBackground -- Specify the pen used to fill the frame
58             when it's in the selected state. Ignored if the frame is a
59             IA_EdgesOnly one. If it is not specified or is set to -1
60             the FILLPEN pen will be used.
61
62             Applicability is (ISG)
63
64         IA_PenShine -- Specify the pen number used for the shine pen (i.e.
65             for raised borders). If it is not specified or set to -1 the
66             standard SHINEPEN will be used.
67
68             Applicability is (ISG)
69
70         IA_PenShadow -- Specify the pen number used for the shadow pen.
71             (i.e. for recessed borders). If it is not specified or set to -1
72             the standard SHADOWPEN will be used.
73
74             Applicability is (ISG)
75
76         IA_PenHalfShine -- Specify the halfshine pen. If it is not specified
77             or set to -1 the standard SHINEPEN will be used. It's usually a
78             bit darker than the shine pen and is commonly used in the xen
79             frame.
80
81             Applicability is (ISG)
82
83         IA_PenHalfShadow -- Specify the halfshadow pen. If it is not
84             specified or set to -1 the standard SHADOWPEN will be used. It's
85             usually a bit brighter than the shadow pen and is commonly used
86             for the xen frame.
87
88             Applicability is (ISG)
89
90     BUGS
91         The tags supported by the frameiclass are not very well documented,
92         so this class may not support all the needed tags.
93
94     SEE ALSO
95         The "Image Subclasses" chapter of the Intuition Reference Manual.
96