home *** CD-ROM | disk | FTP | other *** search
- /*
- Source generated with GadToolsBox V1.4
- which is © Copyright 1991,92 Jaba Development
-
- Modifications by REELSOFT
- */
-
- #include <proto/intuition.h>
- #include <proto/gadtools.h>
- #include <proto/exec.h>
- #include <proto/graphics.h>
- #include <proto/utility.h>
-
- #include <intuition/classes.h>
- #include <intuition/classusr.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <graphics/gfxbase.h>
-
- #include "PPMC.h"
- #include "PPMC_Defines.h"
-
- struct Screen *Scr = NULL ;
- APTR VisualInfo = NULL ;
- struct Window *PPMCWnd = NULL ;
- struct Gadget *PPMCGList = NULL ;
- struct Menu *PPMCMenus = NULL ;
- struct Gadget *PPMCGadgets [12] ;
- struct RastPort *ppmcRP ;
-
- UBYTE *BufSize0Labels [] = { (UBYTE *)"LARGE",
- (UBYTE *)"MEDIUM",
- (UBYTE *)"SMALL", NULL } ;
- UBYTE *CrunEff0Labels [] = { (UBYTE *)"FAST",
- (UBYTE *)"MEDIOCRE",
- (UBYTE *)"GOOD",
- (UBYTE *)"VERY GOOD",
- (UBYTE *)"BEST", NULL } ;
- UBYTE *DecrCol0Labels [] = { (UBYTE *)"COL0",
- (UBYTE *)"COL2",
- (UBYTE *)"POINTER",
- (UBYTE *)"SCROLL",
- (UBYTE *)"NONE", NULL } ;
-
- struct TextAttr PPMCFnt = { ( STRPTR )"PPMC.font", 8, 0x00, 0x20 } ;
-
- struct NewMenu PPMCNewMenu [] = {
- NM_TITLE, (STRPTR)"Project", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"About...", (STRPTR)"?", 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Load...", (STRPTR)"L", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Save", (STRPTR)"S", NM_ITEMDISABLED, 0L, NULL,
- NM_ITEM, (STRPTR)"Save As...", (STRPTR)"V", NM_ITEMDISABLED, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Quit...", (STRPTR)"Q", 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Parameters", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Efficiency", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"FAST", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"MEDIOCRE", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"GOOD", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"VERY GOOD", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"BEST", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Speedup Buffer", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"LARGE", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"MEDIUM", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"SMALL", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Decrunching Effect", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"COL0", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"COL2", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"POINTER", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"SCROLL", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"NONE", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Password", (STRPTR)"P", CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_TITLE, (STRPTR)"Crunching", NULL, 0, NULL, NULL,
- NM_ITEM, (STRPTR)"START...", (STRPTR)"T", NM_ITEMDISABLED, 0L, NULL,
- NM_END, NULL, NULL, 0, 0L, NULL
- } ;
-
- int SetupScreen ( VOID )
- {
- Scr = LockPubScreen ( (UBYTE * )"Workbench" ) ;
- if ( Scr == NULL )
- return (1L) ;
-
- VisualInfo = GetVisualInfo ( Scr, TAG_DONE ) ;
- if ( VisualInfo == NULL )
- return (2L) ;
-
- return (0L) ;
- }
-
- VOID CloseDownScreen ( VOID )
- {
- if ( VisualInfo ) {
- FreeVisualInfo ( VisualInfo ) ;
- VisualInfo = NULL ;
- }
-
- if ( Scr ) {
- UnlockPubScreen ( NULL, Scr ) ;
- Scr = NULL ;
- }
- }
-
- struct IntuiText PPMCIText [] = {
- 2, 0, JAM1, 10, 23, &PPMCFnt, (UBYTE *)"EFFICIENCY", &PPMCIText [1],
- 2, 0, JAM1,171, 23, &PPMCFnt, (UBYTE *)"SPEEDUP BUFFER", &PPMCIText [2],
- 2, 0, JAM1,332, 23, &PPMCFnt, (UBYTE *)"DECRUNCHING EFFECT", NULL
- } ;
- VOID PPMCRender ( VOID )
- {
- UWORD bbox [24] = { 0, 0, 483, 20,
- 0, 20, 161, 61,
- 161, 20, 161, 46,
- 161, 66, 161, 15,
- 322, 20, 161, 61,
- 0, 81, 483, 22
- } ;
- UWORD cnt ;
-
- for ( cnt = 0 ; cnt < 24 ; cnt+= 4 ) {
- DrawBevelBox ( PPMCWnd->RPort,
- PPMCWnd->BorderLeft + bbox [cnt],
- PPMCWnd->BorderTop + bbox [cnt+1],
- bbox [cnt+2], bbox [cnt+3],
- GT_VisualInfo, VisualInfo, TAG_DONE ) ;
- }
-
- DrawBevelBox ( PPMCWnd->RPort,
- PPMCWnd->BorderLeft + 8, PPMCWnd->BorderTop + 84,
- 201, 16,
- GT_VisualInfo, VisualInfo,
- GTBB_Recessed, TRUE, TAG_DONE ) ;
-
- PrintIText ( PPMCWnd->RPort, PPMCIText, PPMCWnd->BorderLeft, PPMCWnd->BorderTop ) ;
- }
-
- // ...
- struct NewGadget PPMCNGad [] = {
- 8, 3, 26,14, (UBYTE *)"?", NULL, GD_About, PLACETEXT_IN, NULL, NULL,
- 39, 3, 51,14, (UBYTE *)"_LOAD", NULL, GD_Load, PLACETEXT_IN, NULL, NULL,
- 95, 3, 51,14, (UBYTE *)"_SAVE", NULL, GD_Save, PLACETEXT_IN, NULL, NULL,
- 151, 3,247,14, NULL, NULL, GD_Status, 0, NULL, NULL,
- 403, 3, 72,14, (UBYTE *)"S_TART", NULL, GD_Start, PLACETEXT_IN, NULL, NULL,
- 133,33, 17, 9, NULL, NULL, GD_CrunEff, PLACETEXT_LEFT, NULL, NULL,
- 294,36, 17, 9, NULL, NULL, GD_BufSize, PLACETEXT_LEFT, NULL, NULL,
- 455,33, 17, 9, NULL, NULL, GD_DecrCol, PLACETEXT_LEFT, NULL, NULL,
- 172,68, 26,11, (UBYTE *)"_PASSWORD",NULL, GD_Crypt, PLACETEXT_RIGHT|NG_HIGHLABEL, NULL, NULL,
- 219,85, 41,14, (UBYTE *)"%", NULL, GD_Crunch, PLACETEXT_RIGHT, NULL, NULL,
- 296,85, 41,14, (UBYTE *)"% gain", NULL, GD_Gained, PLACETEXT_RIGHT, NULL, NULL,
- 394,84, 81,16, (UBYTE *)"ABORT", NULL, GD_Abort, PLACETEXT_IN, NULL, NULL
- } ;
- ULONG PPMCGTags [] = { (TAG_DONE),
- (GT_Underscore), '_', (TAG_DONE),
- (GT_Underscore), '_', (GA_Disabled), TRUE, (TAG_DONE),
- (GTTX_Text), (ULONG)"Load or Drop a File to crunch...", (GTTX_Border), TRUE, (TAG_DONE),
- (GT_Underscore), '_', (GA_Disabled), TRUE, (TAG_DONE),
- (GTMX_Labels), (ULONG)&CrunEff0Labels [0], (GTMX_Active), 4, (TAG_DONE),
- (GTMX_Labels), (ULONG)&BufSize0Labels [0], (TAG_DONE),
- (GTMX_Labels), (ULONG)&DecrCol0Labels [0], (GTMX_Active), 4, (TAG_DONE),
- (GT_Underscore), '_', (TAG_DONE),
- (GTNM_Border), TRUE, (TAG_DONE),
- (GTNM_Border), TRUE, (TAG_DONE),
- (GA_Disabled), TRUE, (TAG_DONE)
- } ;
- UWORD PPMCGTypes [] = { BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- TEXT_KIND,
- BUTTON_KIND,
- MX_KIND,
- MX_KIND,
- MX_KIND,
- CHECKBOX_KIND,
- NUMBER_KIND,
- NUMBER_KIND,
- BUTTON_KIND
- } ;
- int OpenPPMCWindow ( VOID )
- {
- struct NewGadget ng ;
- struct Gadget *g ;
- UWORD lc, tc ;
- UWORD zoom [4] ;
-
- g = CreateContext ( &PPMCGList ) ;
- if ( g == NULL )
- return (1L) ;
-
- for ( lc = 0, tc = 0 ; lc < PPMC_CNT ; lc++ ) {
- CopyMem ( (char *)&PPMCNGad [lc], (char *)&ng, (long)sizeof (struct NewGadget) ) ;
-
- ng.ng_VisualInfo = VisualInfo ;
- ng.ng_TextAttr = &PPMCFnt ;
- ng.ng_LeftEdge += Scr->WBorLeft ;
- ng.ng_TopEdge += Scr->WBorTop + Scr->RastPort.TxHeight + 1 ;
-
- PPMCGadgets [lc] = g = CreateGadgetA ( (ULONG)PPMCGTypes [lc], g, &ng, (struct TagItem *)&PPMCGTags [tc] ) ;
-
- while ( PPMCGTags [tc] )
- tc += 2 ;
- tc++ ;
-
- if ( NOT g )
- return (2L) ;
- }
-
- zoom [0] = zoom [1] = 0 ;
- zoom [2] = TextLength ( &Scr->RastPort, (UBYTE *)PPMC_NAME, 4 ) + 80 ;
- zoom [3] = Scr->WBorTop + Scr->RastPort.TxHeight + 1 ;
-
- PPMCWnd = OpenWindowTags (
- NULL,
- WA_Left, (Scr->Width-491)/2,
- WA_Top, (Scr->Height-105)/2,
- WA_Width, 491,
- WA_Height, 105 + Scr->WBorTop + Scr->RastPort.TxHeight + 1,
- WA_IDCMP, BUTTONIDCMP
- |MXIDCMP
- |CHECKBOXIDCMP
- |TEXTIDCMP
- |NUMBERIDCMP
- |IDCMP_MENUPICK
- |IDCMP_CLOSEWINDOW
- |IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR
- |WFLG_DEPTHGADGET
- |WFLG_CLOSEGADGET
- |WFLG_SMART_REFRESH
- |WFLG_ACTIVATE,
- WA_Gadgets, PPMCGList,
- WA_Title, (UBYTE *)PPMC_NAME,
- WA_ScreenTitle, PPMC_SCREEN,
- WA_Zoom, zoom,
- TAG_DONE
- ) ;
- if ( PPMCWnd == NULL )
- return (4L) ;
-
- PPMCRender () ;
-
- SetupMenus () ;
-
- GT_RefreshWindow ( PPMCWnd, NULL ) ;
-
- ppmcRP = PPMCWnd->RPort ;
-
- return (0L) ;
- }
-
- VOID ClosePPMCWindow ( VOID )
- {
- if ( PPMCWnd ) {
- ClearMenus () ;
- CloseWindow ( PPMCWnd ) ;
- PPMCWnd = NULL;
- }
-
- if ( PPMCGList ) {
- FreeGadgets ( PPMCGList ) ;
- PPMCGList = NULL ;
- }
- }
-
- VOID SetupMenus ( VOID )
- {
- PPMCMenus = CreateMenus ( PPMCNewMenu, GTMN_FrontPen, 0L, TAG_DONE ) ;
- LayoutMenus ( PPMCMenus, VisualInfo, TAG_DONE ) ;
- SetMenuStrip ( PPMCWnd, PPMCMenus ) ;
- }
-
- VOID ClearMenus ( VOID )
- {
- ClearMenuStrip ( PPMCWnd ) ;
- FreeMenus ( PPMCMenus ) ;
- PPMCMenus = NULL ;
- }
-
- // ...