@database "space_gc" @master "AMIDEV:NDK/Autodocs/space_gc.doc" @Node Main "space_gc.doc" @toc "Autodocs/AG/INDEX/Main" @{" --datasheet--() " Link "--datasheet--()"} @{" SPACE_GetClass() " Link "SPACE_GetClass()"} @EndNode @Node "--datasheet--()" "space_gc/--datasheet--" @{b} NAME@{ub} space_gc -- a placeholder gadget class. @{b} SUPERCLASS@{ub} gadgetclass @{b} REQUIRES@{ub} bevel.image @{b} DESCRIPTION@{ub} This class does more than just take up space. space.gadget allows you to create a GREL or layout resizable input areabox. You might render custom graphics in the area, for example, a icon editor graphic area might be based on space.gadget. This lets space.gadget handle its domain in a way compatible with not only the present layout, but any future custom layout domain methods. The application can handle rende ring and clipping in this area on the application task. It presently sends notification of Mouse X/Y and the inner custom application rendering area of the space accounting for any outer bevel (including preference be vel sizes changes). @{b} METHODS@{ub} @{"OM_NEW" Link "tabs_gc/OM_NEW"} -- Create the space gadget. Passed to superclass. @{"OM_SET" Link "tabs_gc/OM_SET"} -- Set object attributes. Passed to superclass first. OM_DISPOSE -- Passed to superclass. OM_UPDATE -- Set object notification attributes & render. Passed to superclass first. OM_NOTIFY -- Notify object attributes. Passed to superclass first. @{"GM_RENDER" Link "tabs_gc/GM_RENDER"} -- Renders the gadget imagery. Overrides the superclass. @{"GM_HITTEST" Link "tabs_gc/GM_HITTEST"} -- always returns GMR_GADGETHIT, as long as the gadgets GA_ReadOnly attribute isn't set. @{"GM_GOACTIVE" Link "tabs_gc/GM_GOACTIVE"} -- Passed to superclass first. Then sends mouseevent notification. GM_HANDLEINPUT -- Handles input events once active. Overrides the superclass. As long as the user keeps the mouse button pressed, the gadget sends notification events to its ICA_TARGET. GM_GOINACTIVE -- Passed to superclass. A final notification is sent. GM_DOMAIN -- Calculates mix/max sizes. Overrides the superclass. All other methods are passed to the superclass. @{b} ATTRIBUTES@{ub} GA_ID (WORD) Applicability is (OM_NEW, @{"OM_SET" Link "tabs_gc/OM_SET"}, OM_UPDATE, @{"OM_GET" Link "tabs_gc/OM_GET"}, OM_NOTIFY) GA_ReadOnly (BOOL) Set to TRUE to make the gadget non-selectable, but without a ghost pattern. Defaults to FALSE. Applicability is (OM_NEW, @{"OM_SET" Link "tabs_gc/OM_SET"}, OM_UPDATE, OM_GET) GA_Disabled (BOOL) Set to TRUE to disable gadget, FALSE otherwise Defaults to FALSE. Applicability is (OM_NEW, @{"OM_SET" Link "tabs_gc/OM_SET"}, OM_UPDATE, OM_GET) SPACE_MinWidth (WORD) Minimum width of the space.gadget object. Defaults to 6. Applicability is (OM_NEW, @{"OM_SET" Link "tabs_gc/OM_SET"}, OM_UPDATE) SPACE_MinHeight (WORD) Minimum height of the space.gadget object. Defaults to 4. Applicability is (OM_NEW, @{"OM_SET" Link "tabs_gc/OM_SET"}, OM_UPDATE) SPACE_MouseX (WORD) X Position of the mouse within the space gadget. Applicability is (OM_NOTIFY). SPACE_MouseY (WORD) Y Position of the mouse within the space gadget. Applicability is (OM_NOTIFY). SPACE_Transparent (BOOL) If true, the gadget background won't be cleared before redraw. Defaults to FALSE. Applicability is (OM_NEW,@{"OM_SET" Link "tabs_gc/OM_SET"},OM_UPDATE). SPACE_AreaBox (struct @{"IBox" Link "INCLUDE:intuition/intuition.h/Main" 929} *) Inner area @{"IBox" Link "INCLUDE:intuition/intuition.h/Main" 929} application rendering bounds. Applicability is (OM_GET,OM_NOTIFY). SPACE_RenderHook (struct @{"Hook" Link "INCLUDE:utility/hooks.h/Main" 26} *) @{"Hook" Link "INCLUDE:utility/hooks.h/Main" 26} to call when the gadget refreshes. The hook function will find the pointer to its own struct @{"Hook" Link "INCLUDE:utility/hooks.h/Main" 26} in A0, a pointer to the space.gadget object in A2 and a struct @{"gpRender" Link "INCLUDE:intuition/gadgetclass.h/Main" 411} pointer in A1. Defaults to @{"NULL" Link "rexxsupport/NULL"}. (OM_NEW,@{"OM_SET" Link "tabs_gc/OM_SET"},OM_UPDATE) SPACE_BevelStyle (WORD) Specifies the bevel box style (see @{"images/bevel.h)" Link "INCLUDE:images/bevel.h/Main" 0}. NOTE: Before v45.2 the gadget didn't change the size of the bevel box, it was always 6x4 pixels. Defaults to BVS_NONE. (OM_NEW,@{"OM_SET" Link "tabs_gc/OM_SET"},OM_UPDATE) @EndNode @Node "SPACE_GetClass()" "space_gc/SPACE_GetClass" @{b} NAME@{ub} SPACE_GetClass -- Gets the pointer to the space class. @{b} SYNOPSIS@{ub} space_class = SPACE_GetClass(); D0 Class * SPACE_GetClass(VOID); @{b} FUNCTION@{ub} Obtains the pointer to the space gadget class for use with @{"NewObject()" Link "intuition/NewObject()"}. This function always returns a valid pointer so you do not need to check it. The reason is that if the library opens fine, then the pointer returned is already setup. (Of course this implies that if opening the library fails, you shouldn't be calling this.) Note that this function does not create the class, that is done when the class library is opened. @{b} INPUTS@{ub} Nothing. @{b} RESULT@{ub} space_class - Pointer to the space gadget class. @{b} SEE ALSO@{ub} @EndNode