a1200   NEWS   APPS   DOCS   ABOUT
a1200
----
a1200
----
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
Docs » Include » intuition » classes.i / .h
	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

Name:
E-mail: Use this if you want a message if you get a response, will not be shown.
Comment:
Select correct short for:

Future Crew

TRSI
SNT
FC
DJ

Comments:

$VER: d0.se 1.14 Copyright © 2011-2024 Tobias Geijersson support at d0 dot se