home *** CD-ROM | disk | FTP | other *** search
- #ifndef __INC_POSA_CLIB_GADTOOLS_PROTOS_C
- #define __INC_POSA_CLIB_GADTOOLS_PROTOS_C
- /*******************************************************************
- $CRT 10 Nov 1996 : hb
-
- $AUT Holger Burkarth
- $DAT >>gadtools_protos.c<< 30 Jan 1997 18:52:57 - (C) ProDAD
- *******************************************************************/
- #pragma -
-
- #define NOMYDEBUG
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
- #ifndef INTUITION_INTUITION_H
- #include <intuition/intuition.h>
- #endif
- #ifndef UTILITY_TAGITEM_H
- #include <utility/tagitem.h>
- #endif
- #ifndef LIBRARIES_GADTOOLS_H
- #include <libraries/gadtools.h>
- #endif
-
- #include <p:pIntui/Tags.h>
- #include <p:pScreen/Screen.h>
- #include <p:proto/pExec2.h>
- #include <p:proto/pGfx2.h>
- #include <p:proto/pLayer2.h>
- #include <p:proto/pIntui2.h>
- #include <p:proto/pGadget2.h>
- #include <p:proto/pUtil2.h>
-
-
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*----------------------------------
- -----------------------------------*/
- struct Gadget *CreateGadgetA(ULONG kind, struct Gadget *gad,struct NewGadget *ng,struct TagItem *taglist)
- {
- pOS_Gadget *Gadget=0;
- pOS_TagItem Tags1[]={
- ICLTAG_Left, ng->ng_LeftEdge, // 0
- ICLTAG_Top, ng->ng_TopEdge, // 1
- ICLTAG_Width, ng->ng_Width, // 2
- ICLTAG_Height, ng->ng_Height, // 3
- ICLTAG_DrawInfo, (ULONG)ng->ng_VisualInfo,
- ICLTAG_ID, (ULONG)ng->ng_GadgetID,
- TAG_MORE, (ULONG)taglist
- };
-
-
- switch(kind) {
- case BUTTON_KIND:
- Gadget=(pOS_Gadget*)pOS_NewIObject(NULL,"buttongad.class",0,
- IOBJTAG_String, (ULONG)ng->ng_GadgetText,
- ICLTAG_RelVerify, TRUE,
- TAG_MORE, (ULONG)Tags1);
- break;
-
- case INTEGER_KIND:
- case STRING_KIND:
- if(Tags1[3].ti_Data==0) {
- struct pOS_DrawInfo *Dri=(struct pOS_DrawInfo*)ng->ng_VisualInfo;
- Tags1[3].ti_Data=Dri->dri_StdHeight+2;
- }
- Gadget=(pOS_Gadget*)pOS_NewIObject(NULL,"strgad.class",0,
- TAG_MORE, (ULONG)Tags1);
- break;
- }
-
- if(Gadget) gad->U.NextGadget=(APTR)Gadget;
- return((APTR)Gadget);
- }
-
- struct Gadget *CreateGadget(ULONG kind,struct Gadget *gad,struct NewGadget *ng,Tag tag1,...)
- { return( CreateGadgetA(kind,gad,ng,(TagItem*)&tag1));}
-
- void FreeGadgets( struct Gadget *gad )
- {
- struct Gadget *Next;
- for(; gad; gad=Next) {
- Next=gad->U.NextGadget;
- pOS_DisposeIObject(gad);
- }
- }
-
- void GT_SetGadgetAttrsA(struct Gadget *gad,struct Window *win,struct Requester*,struct TagItem *taglist)
- { pOS_SetGadgetAttrsA((APTR)win,(APTR)gad,(APTR)taglist) }
-
- void GT_SetGadgetAttrs(struct Gadget *gad,struct Window *win,struct Requester*,Tag tag1,...)
- { pOS_SetGadgetAttrsA((APTR)win,(APTR)gad,(APTR)&tag1) }
-
- /*----------------------------------
- -----------------------------------*/
- struct Menu *CreateMenusA(struct NewMenu *newmenu,APTR dri,struct TagItem *taglist)
- {
- struct NewMenu *NM;
- for(NM=newmenu; NM->nm_Type; ++NM) {
- NM->nm_Tags=NULL;
- if(NM->nm_Label==(CHAR*)~0) {
- UBYTE Type =NM->nm_Type & ~(NM_MENUDISABLED | NM_ITEMDISABLED);
- UBYTE Flags=NM->nm_Type & (NM_MENUDISABLED | NM_ITEMDISABLED);
- if(Type==MENUTAGTYP_Item) NM->nm_Type=MENUTAGTYP_ItemBar;
- if(Type==MENUTAGTYP_Sub) NM->nm_Type=MENUTAGTYP_SubBar;
-
- if(Flags & (NM_MENUDISABLED | NM_ITEMDISABLED))
- NM->nm_Flags |= MENUITF_Disabled;
- }
- }
- return((APTR)pOS_CreateMenuTagA((APTR)dri,(APTR)newmenu,0));
- }
-
- struct Menu *CreateMenus(struct NewMenu *newmenu,APTR dri,Tag tag1, ... )
- { return( CreateMenusA(newmenu,dri,(struct TagItem*)&tag1));}
-
- void FreeMenus( struct Menu *menu )
- { pOS_DeleteMenu((APTR)menu); }
-
- BOOL LayoutMenusA( struct Menu *firstmenu, APTR vi, struct TagItem *taglist )
- { pOS_PreLayoutMenu((APTR)firstmenu,vi); return(TRUE);}
-
- BOOL LayoutMenus( struct Menu *firstmenu, APTR vi, Tag tag1, ... )
- { return( LayoutMenusA(firstmenu,vi,(APTR)&tag1));}
-
- struct IntuiMessage *GT_GetIMsg( struct MsgPort *iport )
- {
- return( (struct IntuiMessage*)pOS_GetMsg((APTR)iport));
- }
-
- void GT_ReplyIMsg( struct IntuiMessage *imsg )
- {
- struct IntuiMessage *Msg=(struct IntuiMessage*)imsg;
-
- if(!(Msg->Class==IDCMP_NEWSIZE || Msg->Class==IDCMP_CHANGEWINDOW || Msg->Class==IDCMP_REFRESHWINDOW))
- {
- if(pOS_SysIMessage((struct pOS_IntuiMessage*)Msg)) Msg=NULL;
- }
- if(Msg) pOS_ReplyMsg((APTR)imsg);
- }
-
- void GT_RefreshWindow( struct Window *win, struct Requester *req )
- { pOS_RefreshWindowFrame((APTR)win); }
-
- void GT_BeginRefresh( struct Window *win )
- {
- pOS_BeginRefresh((APTR)win,NULL);
- }
-
- void GT_EndRefresh(struct Window *win,long complete )
- {
- if(complete) pOS_RefreshGadgets((struct pOS_Window*)win,NULL,~0);
- pOS_EndRefresh((APTR)win,complete);
- }
-
- struct Gadget *CreateContext(struct Gadget **glistptr)
- {
- struct Gadget *Gad;
- Gad=(struct Gadget*)pOS_NewIObjectA(NULL,"gadget.class",0,NULL);
- *glistptr=Gad;
- return(Gad);
- }
-
- void DrawBevelBoxA(struct RastPort *rport,long left,long top,long width,long height,struct TagItem *taglist)
- {
- pOS_Rectangle Rect={left,top,left+width-1,top+height-1};
- struct pOS_DrawInfo* Dri=(struct pOS_DrawInfo*)pOS_FindTagData(GT_VisualInfo,(struct pOS_TagItem*)taglist,NULL);
- ULONG Type=pOS_FindTagData(GTBB_Recessed,(struct pOS_TagItem*)taglist,0);
- if(Type) Type=GADBORTYP_BevelDownBox;
- else Type=GADBORTYP_BevelUpBox;
-
- pOS_DrawBorderBox((struct pOS_RastPort*)rport,Dri,Type,&Rect);
- }
-
-
- void DrawBevelBox(struct RastPort *rport,long left,long top,long width,long height,Tag tag1,...)
- { DrawBevelBoxA(rport,left,top,width,height,(struct TagItem*)&tag1); }
-
- APTR GetVisualInfoA( struct Screen *screen, struct TagItem *taglist )
- { return((APTR) ((pOS_Screen*)screen)->scr_DrawInfo );}
-
- APTR GetVisualInfo( struct Screen *screen, Tag tag1, ... )
- { return((APTR) ((pOS_Screen*)screen)->scr_DrawInfo );}
-
- void FreeVisualInfo( APTR vi )
- {}
-
- LONG GT_GetGadgetAttrsA(struct Gadget *gad,struct Window *win,struct Requester*,struct TagItem *taglist)
- { return( GT_GetGadgetAttrsA(gad,win,NULL,(struct TagItem*)taglist));}
-
- LONG GT_GetGadgetAttrs(struct Gadget *gad,struct Window *win,struct Requester*,Tag tag1,...)
- { return( GT_GetGadgetAttrsA(gad,win,NULL,(struct TagItem*)&tag1));}
-
-
-
-
-
-
-
-
-
-
- #ifdef __IGNORE_NOT_SUPPORTED__
-
- BOOL LayoutMenuItemsA( struct MenuItem *firstitem, APTR vi,struct TagItem *taglist )
- {return(0);}
- BOOL LayoutMenuItems( struct MenuItem *firstitem, APTR vi, Tag tag1, ... )
- {return(0);}
- struct IntuiMessage *GT_FilterIMsg( struct IntuiMessage *imsg )
- {return(0);}
- struct IntuiMessage *GT_PostFilterIMsg( struct IntuiMessage *imsg )
- {return(0);}
-
- #endif /** __IGNORE_NOT_SUPPORTED__ **/
-
-
-
-
-
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* CLIB_GADTOOLS_PROTOS_H */
-