home *** CD-ROM | disk | FTP | other *** search
- #ifndef BLITZBLANK_H
- #define BLITZBLANK_H
-
- #include <exec/ports.h>
- #include <exec/tasks.h>
-
-
- /****************************************/
- /* $VER: BlitzBlank.h 2.60 (12.05.95) */
- /****************************************/
-
- /********************************/
- /* Stuff for blitzblank.library */
- /********************************/
-
- #define BLITZBLANKLIB_VER 9
-
- extern struct BitMap *BBL_AllocBitMap (ULONG width,ULONG height,ULONG depth,ULONG flags);
- extern struct BitMap *BBL_AllocDBufBitMap (struct Screen *screen);
- extern struct RastPort *BBL_AllocRastPort (ULONG width,ULONG height,ULONG depth,ULONG flags);
- extern void BBL_BlankDone (void);
- extern struct Window *BBL_BlankMouse (struct Screen *screen,UBYTE mode);
- extern struct Screen *BBL_CloneFirstScreen (UWORD moredepth,ULONG flags);
- extern void BBL_CloseScreenSafe (struct Screen *screen);
- extern BOOL BBL_CopyOriginalColors (struct Screen *screen);
- extern BOOL BBL_CopyOriginalScreen (struct Screen *screen);
- extern void BBL_EndDBuf (ULONG handle);
- extern BOOL BBL_FadeDown (struct Screen *screen,UBYTE final,UBYTE delay);
- extern void BBL_FreeBitMap (struct BitMap *bitmap);
- extern void BBL_FreeRastPort (struct RastPort *rastport);
- extern long BBL_GetDarkestPen (struct Screen *screen);
- extern char* BBL_GetString (UWORD num,char *text);
- extern ULONG BBL_InitDBuf (struct Screen *screen,struct BitMap *bitmap);
- extern void BBL_ModuleRunning (void);
- extern void BBL_RainbowPalette (struct Screen *screen,ULONG lowreg,ULONG highreg);
- extern ULONG BBL_RemainingTime (void);
- extern BOOL BBL_ScreenAvailable (struct Screen *screen);
- extern BOOL BBL_SendMessage (struct BB_Message *bbmessage,char *portname);
- extern void BBL_ShowBitMap (struct Screen *screen,struct BitMap *bitmap,ULONG handle);
- extern void BBL_UnBlankMouse (struct Window *window);
-
-
- /*******************************************************************/
- /* The different kinds of GUI-objects for a module's config-window */
- /*******************************************************************/
-
- #define BB_PGroup 1 /* Indicates the start of a new page group */
- #define BB_PGroup_End 2 /* Indicates the end of the page group */
- #define BB_VGroup 3 /* Indicates the start of a new vertical group */
- #define BB_VGroup_End 4 /* Indicates the end of the vertical group */
- #define BB_Check 5 /* Checkmark, uses set field in BB_Object */
- #define BB_String 6 /* Textgadget, uses max/contents fields in BB_Object */
- #define BB_File 7 /* Stringgadget with attached filerequester */
- #define BB_Slider 8 /* Slidergadget, uses min/max/set fields in BB_Object */
- #define BB_Cycle 9 /* Cyclegadget, uses set/contents in BB_Object */
- #define BB_Dummy 10 /* Dummy, if you want no gadgets at all */
- #define BB_Font 11 /* Stringgadget with attached fontrequester */
- #define BB_Dir 12 /* Stringgadget with attached filerequester, Dirs only */
-
- /*****************************************/
- /* Flags used in BB_Message's flag-field */
- /*****************************************/
-
- #define BBF_Screenmode (1L << 0) /* Allows screenmode-selection */
- #define BBF_Colors (1L << 1) /* Allows screendepth-selection */
- #define BBF_Sample (1L << 2) /* Not supported yet */
- #define BBF_NoWatch (1L << 3) /* Eats no CPU-time, so needs no checking */
- #define BBF_NoScreen (1L << 4) /* Wants no screen from BlitzBlank */
- #define BBF_FirstScreen (1L << 5) /* Wants pointer to screen in front, be CAREFUL with this! */
- #define BBF_CloneScreen (1L << 6) /* Wants a clone from the FrontScreen */
- #define BBF_AmigaOnly (1L << 7) /* Not supported yet */
- #define BBF_NoMouseBlank (1L << 8) /* No mouseblanking from BlitzBlank wanted */
- #define BBF_NoKeyPass (1L << 9) /* No keypassing necessary (no mouseblanking, no own active window */
- #define BBF_BigWindow (1L << 10) /* The blankwindow fills the whole screen */
- #define BBF_Interleaved (1L << 11) /* BlitzBlank TRIES to give you a screen with an Interleaved BitMap */
-
-
- /*****************************************/
- /* The structure, that holds config-data */
- /*****************************************/
-
- struct BB_Object
- {
- struct BB_Object* next; /* Pointer to next object or NULL if last object */
- WORD type; /* What kind of GUI-object this is */
- long min; /* Minimum value for BB_Slider */
- long max; /* Maximum value for BB_Slider, max length of BB_String */
- long set; /* Value of BB_Slider, state of BB_Checkmark, BB_Cycle */
- char *contents; /* Pointer to buffer for BB_String, pointer to stringarray for BB_Cycle */
- char *label; /* Label for ALL objects */
- };
-
-
- /*****************************************************/
- /* The message to send to BlitzBlank/BlitzBlankPrefs */
- /*****************************************************/
-
- struct BB_Message
- {
- struct Message msg; /* Normal Exec-Message-structure */
- long flags; /* Flags for this module */
- char *infotext; /* Pointer to infotext for this module */
- struct BB_Object *first; /* Pointer to first BB_Object or NULL for Info-action */
- WORD modpri; /* not of use, if you use the library */
- char *path; /* Path to directory for module-data */
- struct Task *blitzblank; /* not of use, if you use the library */
- };
-
-
- /***************************************/
- /* The BlitzBlank-Screeninfo-structure */
- /***************************************/
-
- struct BB_Screeninfo
- {
- WORD xpos; /* should be 0 */
- WORD ypos; /* should be 0 */
- WORD width; /* User-selected screen-width */
- WORD height; /* User-selected screen-height */
- WORD depth; /* User-selected screen-depth */
- long mode; /* User-selected screen-mode */
- struct Screen *bbscreen; /* module screen */
- struct Window *bbwindow; /* blank window */
- WORD mindepth; /* desired minimum depth or 0 */
- WORD maxdepth; /* desired maximum depth or 0 */
- WORD xpixelsize; /* X-size of the pixels */
- WORD ypixelsize; /* Y-size of the pixels */
- /* If you have a given width of something and want to */
- /* calculate the aspect-correct height, then do: */
- /* height=width*screeninfo->xpixelsize/screeninfo->ypixelsize; */
- };
-
-
- /**************************************************************/
- /* Flag-definition for BBL_AllocBitMap()/BBL_AllocRastPort(), */
- /* if you don't have the V39-includes */
- /**************************************************************/
-
- #ifndef BMB_CLEAR
- #define BMB_CLEAR 0
- #define BMB_DISPLAYABLE 1
- #define BMB_INTERLEAVED 2
- #define BMF_CLEAR (1l<<BMB_CLEAR)
- #define BMF_DISPLAYABLE (1l<<BMB_DISPLAYABLE)
- #define BMF_INTERLEAVED (1l<<BMB_INTERLEAVED)
- #endif
-
- #endif
-