home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POS_PLAYER_CLIP_H
- #define __INC_POS_PLAYER_CLIP_H
- /*******************************************************************
- Includes Release 24
- (C) Copyright 1995-1997 proDAD
- All Rights Reserved
-
- $AUT Holger Burkarth
- $DAT >>Clip.h<< 24 Jan 1997 09:38:26 - (C) ProDAD
- *******************************************************************/
- #ifndef __INC_POS_PEXEC_LIST_H
- #include <pExec/List.h>
- #endif
- #ifndef __INC_POS_PLAYER_RECT_H
- #include <pLayer/Rect.h>
- #endif
- #ifndef __INC_POS_PLAYER_REGION_H
- #include <pLayer/Region.h>
- #endif
- #ifndef __INC_POS_PEXEC_SEMA_H
- #include <pExec/Sema.h>
- #endif
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_ClipRect
- {
- struct pOS_Node cr_Node; /* kompatiebel zu (struct pOS_RegionRectangle) */
- struct pOS_Rectangle cr_Bounds; /* bounds of cliprect */
- struct pOS_GfxMap *cr_GfxMap; /* */
- };
-
-
-
- /*----------------------------------
- pOS_LockHideLayer(), pOS_UnlockHideLayer()
- -----------------------------------*/
- struct pOS_LayerHide
- {
- struct pOS_List lyh_ClipList;
- const struct pOS_Region *lyh_Region;
- UBYTE lyh_Mode; /* 0x01 = LAYERF_InRefMode, 0x02 = Quick */
- UBYTE lyh_Cnt;
- };
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_LayerClip
- {
- struct pOS_LayerHide lyc_Hide;
- UBYTE lyc_Reserved[32];
- };
-
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_Layer
- {
- struct pOS_ExNode ly_Node;
- struct pOS_Layer *ly_Parent;
- struct pOS_Layer *ly_Next; /* nur im Child-Verbund */
- struct pOS_Layer *ly_Child; /* First Child */
- struct pOS_Semaphore ly_Lock;
- struct pOS_Rectangle ly_Bounds;
- struct pOS_Rectangle ly_ChildBounds; /* echte Maße, ohne das Clipping von Parent */
- struct pOS_Region ly_DamageList; /* list of rectangles to refresh through */
- struct pOS_LayerInfo *ly_LayerInfo; /* (home) points to head of the list */
- ULONG ly_Flags; /* (enum pOS_LayerFlags) */
- struct pOS_RastPort *ly_RP;
- struct pOS_List ly_VisClipList; /* List of visible clips */
- struct pOS_List ly_SupClipList; /* List of super clips */
- SWORD ly_ScrollX; /* wird zu jeder Zeichenoperation addiert */
- SWORD ly_ScrollY;
- struct pOS_GfxMap *ly_SupGfxMap;
- struct pOS_Window *ly_Win; /* home link for intui (private) */
-
- /** SYSTEM-PRIVATE-DATAS **/
- };
-
-
- /*\
- *** Nach BeginRefresh() ist in ly_Flags das LAYERF_InRefMode-Bit gesetzt.
- *** Gleichzeitig zeigt das LAYERF_DamageLst-Bit, daß die ly_DamageList-List
- *** mit ly_DamUseList getauscht wurde. Progs, die auf diese Daten zurückgreifen,
- *** müssen ly_DamUseList verwenden, da zur gleichen Zeit ly_DamageList genullt wird.
- \*/
-
-
-
-
-
-
- /*----------------------------------
- -----------------------------------*/
- struct pOS_LayerInfo
- {
- struct pOS_ExNode li_Node;
- struct pOS_ExList li_List; /* (pOS_Layer*) List */
- struct pOS_Semaphore li_Lock;
- struct pOS_GfxMap *li_GfxMap;
- UWORD li_Flags;
-
- /** SYSTEM-PRIVATE-DATAS **/
-
- };
-
-
-
-
- /*----------------------------------
- BOOL (*cb_Code)(_R_A0 const pOS_Callback*,_R_A1 const pOS_LayerHookData*);
- -----------------------------------*/
- struct pOS_LayerHookData
- {
- struct pOS_RastPort *lyhd_RastPort;
- struct pOS_LayerInfo *lyhd_LayerInfo;
- struct pOS_Layer *lyhd_Layer;
- SLONG lyhd_OriginX, lyhd_OriginY;
- struct pOS_Rectangle lyhd_Bounds;
- UWORD lyhd_Flags; /* (enum pOS_LayerHookFlags) */
- struct pOS_GfxMap *lyhd_GfxMap;
- };
-
-
- enum pOS_LayerHookFlags /* lyhd_Flags */
- {
- LAYERHOOKF_FirstDraw =0x0001, /* *** erster Durchlauf */
- LAYERHOOKF_Border =0x0002, /* *** Border zeichnen */
- };
-
-
-
-
-
-
-
- enum pOS_LayerFlags /* ly_Flags */
- {
- LAYERF_Simple= 0x0001,
- LAYERF_Smart= 0x0002,
- LAYERF_Super= 0x0004,
- LAYERF_NoCLTS= 0x0010, /* no pOS_CopyLayerToSup() */
- LAYERF_DrawInLy= 0x000020, /* es wurde gezeichnet => wichtig für SuperBM */
- LAYERF_Refresh= 0x000080,
- LAYERF_InRefMode= 0x000100, /* Begin-Refresh */
- LAYERF_DamageLst= 0x000200, /* pflegt die Damage-List */
- LAYERF_2thDamLst= 0x000400, /* ly_DamUseList wurde gebildet */
- LAYERF_RembDamLst= 0x000800, /* ly_DamRememberList wird verwendet */
- LAYERF_FixChWidth= 0x001000, /* Kind-Width ist an Parent gebunden */
- LAYERF_FixChHeight= 0x002000, /* Kind-Height ist an Parent gebunden */
- LAYERF_SaveVCList= 0x004000, /* SaveVisClipList ist belegt */
- LAYERF_FixChLeft= 0x008000, /* Kind-Left wird an Parent-Right gebunden */
- LAYERF_FixChTop= 0x010000, /* Kind-Top wird an Parent-Bottom gebunden */
- LAYERF_SzDamgHoriz= 0x020000, /* eine horizontale Größenänderung macht den
- ** gesamten Layer ungültig
- */
- LAYERF_SzDamgVert= 0x040000, /* =>LAYERF_SzDamgHoriz (vert) */
- };
-
-
-
- #endif
-