NEWS APPS DOCS ABOUT | ||||
Autodocs Include classes clib datatypes devices diskfont dos exec gadgets graphics hardware images intuition cghooks.i / .h classes.i / .h classusr.i / .h gadgetclass.i / .h icclass.i / .h imageclass.i / .h intuition.i / .h intuitionbase.i / .h iobsolete.i / .h pointerclass.i / .h preferences.i / .h screens.i / .h sghooks.i / .h libraries pragma pragmas prefs proto reaction resources rexx utility workbench GuruMeditation | IFND INTUITION_CLASSES_I INTUITION_CLASSES_I SET 1 ** ** $VER: classes.i 40.0 (15.2.1994) ** Includes Release 45.1 ** ** Only used by class implementors ** ** (C) Copyright 1989-2001 Amiga, Inc. ** All Rights Reserved ** ;****************************************************************************** IFND EXEC_TYPES_I INCLUDE "exec/types.i" ENDC IFND EXEC_LIBRARIES_I INCLUDE "exec/libraries.i" ENDC IFND UTILITY_HOOKS_I INCLUDE "utility/hooks.i" ENDC IFND INTUITION_CLASSUSR_I INCLUDE "intuition/classusr.i" ENDC ;****************************************************************************** ;***************** "White Box" access to struct IClass ************************ ;****************************************************************************** STRUCTURE ICLASS,0 STRUCT cl_Dispatcher,h_SIZEOF ; Class dispatcher ULONG cl_Reserved ; Must be 0 APTR cl_Super ; Pointer to superclass APTR cl_ID ; Class ID UWORD cl_InstOffset ; Offset of instance data UWORD cl_InstSize ; Size of instance data ULONG cl_UserData ; Class global data ULONG cl_SubclassCount ; Number of subclasses ULONG cl_ObjectCount ; Number of objects ULONG cl_Flags ; no iclass_SIZEOF because only Intuition allocates these ;****************************************************************************** ; defined values of cl_Flags CLB_INLIST EQU 0 CLF_INLIST EQU $00000001 ; class in in public class list ; see classes.h for common calculations (sorry, no macros yet) ;***************************************************************************** ;***************** "White box" access to struct _Object ********************** ;***************************************************************************** ; We have this, the instance data of the root class, PRECEDING the "object". ; This is so that Gadget objects are Gadget pointers, and so on. If this ; structure grows, it will always have o_Class at the end, so the macro ; OCLASS(o) will always have the same offset back from the pointer returned ; from NewObject(). ; ; This data structure is subject to change. Do not use the o_Node embedded ; structure. STRUCTURE _Object,0 STRUCT o_Node,MLN_SIZE APTR o_Class ; this value may change but difference between it and offset of o_Class ; will remain constant LABEL _object_SIZEOF ;****************************************************************************** ; BOOPSI class libraries should use this structure as the base for their ; library data. This allows developers to obtain the class pointer for ; performing object-less inquiries. STRUCTURE ClassLibrary,0 STRUCT cl_Lib,LIB_SIZE ; Embedded library UWORD cl_Pad ; Align the structure APTR cl_Class ; Class pointer LABEL ClassLibrary_SIZEOF ;****************************************************************************** ENDC Comments |
$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se |