1 #ifndef GRAPHICS_CLIP_H 2 #define GRAPHICS_CLIP_H 3 4 /* 5 graphics clip definitions 6 7 Copyright © 2002 The MorphOS Development Team, All Rights Reserved. 8 */ 9 10 #ifndef EXEC_TYPES_H 11 # include <exec/types.h> 12 #endif 13 14 #ifndef GRAPHICS_GFX_H 15 # include <graphics/gfx.h> 16 #endif 17 18 #ifndef EXEC_SEMAPHORES_H 19 # include <exec/semaphores.h> 20 #endif 21 22 #ifndef UTILITY_HOOKS_H 23 # include <utility/hooks.h> 24 #endif 25 26 #pragma pack(2) 27 28 29 #define NEWLOCKS 30 31 struct Layer 32 { 33 struct Layer *front, *back; 34 struct ClipRect *ClipRect; 35 struct RastPort *rp; 36 struct Rectangle bounds; 37 UBYTE reserved[4]; 38 UWORD priority; 39 UWORD Flags; 40 struct BitMap *SuperBitMap; 41 struct ClipRect *SuperClipRect; 42 APTR Window; 43 WORD Scroll_X, Scroll_Y; 44 struct ClipRect *cr, *cr2, *crnew; 45 struct ClipRect *SuperSaveClipRects; 46 struct ClipRect *_cliprects; 47 struct Layer_Info *LayerInfo; 48 struct SignalSemaphore Lock; 49 struct Hook *BackFill; 50 ULONG reserved1; 51 struct Region *ClipRegion; 52 struct Region *saveClipRects; 53 WORD Width,Height; 54 UBYTE reserved2[18]; 55 struct Region *DamageList; 56 }; 57 58 struct ClipRect 59 { 60 struct ClipRect *Next; 61 struct ClipRect *prev; 62 struct Layer *lobs; 63 struct BitMap *BitMap; 64 struct Rectangle bounds; 65 APTR _p1; 66 APTR _p2; 67 LONG reserved; 68 69 #ifdef NEWCLIPRECTS_1_1 70 LONG Flags; 71 #endif 72 }; 73 74 75 #define CR_NEEDS_NO_CONCEALED_RASTERS 1 76 #define CR_NEEDS_NO_LAYERBLIT_DAMAGE 2 77 78 79 #define ISLESSX 1 80 #define ISLESSY 2 81 #define ISGRTRX 4 82 #define ISGRTRY 8 83 84 85 #pragma pack() 86 87 #endif /* GRAPHICS_CLIP_H */