home *** CD-ROM | disk | FTP | other *** search
- /*
- * Source generated with GadToolsBox V1.4
- * which is (c) Copyright 1991,92 Jaba Development
- */
-
- #include <exec/types.h>
- #include <intuition/intuition.h>
- #include <intuition/classes.h>
- #include <intuition/classusr.h>
- #include <intuition/imageclass.h>
- #include <intuition/gadgetclass.h>
- #include <libraries/gadtools.h>
- #include <graphics/displayinfo.h>
- #include <graphics/gfxbase.h>
- #include <clib/exec_protos.h>
- #include <clib/intuition_protos.h>
- #include <clib/gadtools_protos.h>
- #include <clib/graphics_protos.h>
- #include <clib/utility_protos.h>
- #include <string.h>
-
- #include "windows.h"
-
- struct Screen *Scr = NULL;
- APTR VisualInfo = NULL;
- struct Window *MainWnd = NULL;
- struct Window *KnotInfoWnd = NULL;
- struct Window *ExpandedViewWnd = NULL;
- struct Window *Scale_GroupWnd = NULL;
- struct Window *Rotate_GroupWnd = NULL;
- struct Window *Move_GroupWnd = NULL;
- struct Window *ConfigWnd = NULL;
- struct Gadget *MainGList = NULL;
- struct Gadget *KnotInfoGList = NULL;
- struct Gadget *ExpandedViewGList = NULL;
- struct Gadget *Scale_GroupGList = NULL;
- struct Gadget *Rotate_GroupGList = NULL;
- struct Gadget *Move_GroupGList = NULL;
- struct Gadget *ConfigGList = NULL;
- struct Menu *MainMenus = NULL;
- struct Gadget *MainGadgets[5];
- struct Gadget *KnotInfoGadgets[10];
- struct Gadget *ExpandedViewGadgets[2];
- struct Gadget *Scale_GroupGadgets[5];
- struct Gadget *Rotate_GroupGadgets[3];
- struct Gadget *Move_GroupGadgets[4];
- struct Gadget *ConfigGadgets[12];
- UWORD MainLeft = 0;
- UWORD MainTop = 1;
- UWORD MainWidth = 640;
- UWORD MainHeight = 244;
- UWORD KnotInfoLeft = 379;
- UWORD KnotInfoTop = 16;
- UWORD KnotInfoWidth = 251;
- UWORD KnotInfoHeight = 86;
- UWORD ExpandedViewLeft = 0;
- UWORD ExpandedViewTop = 0;
- UWORD ExpandedViewWidth = 640;
- UWORD ExpandedViewHeight = 245;
- UWORD Scale_GroupLeft = 403;
- UWORD Scale_GroupTop = 19;
- UWORD Scale_GroupWidth = 230;
- UWORD Scale_GroupHeight = 65;
- UWORD Rotate_GroupLeft = 418;
- UWORD Rotate_GroupTop = 22;
- UWORD Rotate_GroupWidth = 221;
- UWORD Rotate_GroupHeight = 64;
- UWORD Move_GroupLeft = 482;
- UWORD Move_GroupTop = 21;
- UWORD Move_GroupWidth = 138;
- UWORD Move_GroupHeight = 72;
- UWORD ConfigLeft = 0;
- UWORD ConfigTop = 1;
- UWORD ConfigWidth = 640;
- UWORD ConfigHeight = 244;
- UBYTE *MainWdt = (UBYTE *)"Main Window";
- UBYTE *KnotInfoWdt = (UBYTE *)"Knot Information";
- UBYTE *ExpandedViewWdt = (UBYTE *)"ICoons";
- UBYTE *Scale_GroupWdt = (UBYTE *)"Scale group";
- UBYTE *Rotate_GroupWdt = (UBYTE *)"Rotate group";
- UBYTE *Move_GroupWdt = (UBYTE *)"Move group";
- UBYTE *ConfigWdt = (UBYTE *)"Configuration";
-
- UBYTE *Rotate_Group_Axis4Labels[] = {
- (UBYTE *)"Rotate around X",
- (UBYTE *)"Rotate around Y",
- (UBYTE *)"Rotate around Z",
- NULL };
-
- struct TextAttr topaz8 = {
- ( STRPTR )"topaz.font", 8, 0x00, 0x00 };
-
- struct IntuiText ConfigIText[] = {
- 11, 1, JAM2,186, 2, &topaz8, (UBYTE *)" Configuration parameters: ", &ConfigIText[1],
- 4, 0, JAM1,80, 13, &topaz8, (UBYTE *)"Grid :", &ConfigIText[2],
- 4, 0, JAM1,236, 13, &topaz8, (UBYTE *)"Graphics :", &ConfigIText[3],
- 4, 0, JAM1,410, 13, &topaz8, (UBYTE *)"Interaction :", NULL };
-
- struct NewMenu MainNewMenu[] = {
- NM_TITLE, (STRPTR)"Project", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"About ...", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"New", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Load", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"ICoons object", (STRPTR)"L", 0, 0L, NULL,
- NM_SUB, (STRPTR)"JourneyMan object", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Save", (STRPTR)"S", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Generate", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"TTDDD format", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Configuration", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"Load ", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"Save ", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"Edit ", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Quit", (STRPTR)"Q", 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Display", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Zoom in", (STRPTR)"I", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Zoom out", (STRPTR)"O", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Center", (STRPTR)"C", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Rotate P.", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Pan (p)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Grid", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Grid snap", NULL, CHECKIT|MENUTOGGLE, 0L, NULL,
- NM_ITEM, (STRPTR)"Resolution", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"Up (+)", NULL, 0, 0L, NULL,
- NM_SUB, (STRPTR)"Down (-)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Redraw ( )", NULL, 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Windows", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Knot...", (STRPTR)"K", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Scale...", (STRPTR)"Z", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Rotate...", (STRPTR)"R", 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Move...", (STRPTR)"M", 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Render", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Mode", NULL, 0, 8L, NULL,
- NM_SUB, (STRPTR)"Line", NULL, CHECKIT, 14L, NULL,
- NM_SUB, (STRPTR)"Flat", NULL, CHECKIT, 13L, NULL,
- NM_SUB, (STRPTR)"Gouraud", NULL, CHECKIT|CHECKED, 11L, NULL,
- NM_SUB, (STRPTR)"Phong", NULL, CHECKIT, 7L, NULL,
- NM_ITEM, (STRPTR)"Render (r)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Re-render(R)", NULL, 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Select", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Group box (g)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Group spline (,)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Group all (.)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Group knot (;)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Select next (n)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)NM_BARLABEL, NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Deselect all (Ret)", NULL, 0, 0L, NULL,
- NM_TITLE, (STRPTR)"Commands", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Add (a)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Combine (C)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Cut (c)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Delete (d)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Disconnect (D)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Hide (h)", NULL, 0, 0L, NULL,
- NM_ITEM, (STRPTR)"Move origin", NULL, 0, 0L, NULL,
- NM_END, NULL, NULL, 0, 0L, NULL };
-
- UWORD MainGTypes[] = {
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- BUTTON_KIND
- };
-
- UWORD KnotInfoGTypes[] = {
- BUTTON_KIND,
- STRING_KIND,
- BUTTON_KIND,
- STRING_KIND,
- BUTTON_KIND,
- STRING_KIND,
- NUMBER_KIND,
- TEXT_KIND,
- TEXT_KIND,
- TEXT_KIND
- };
-
- UWORD ExpandedViewGTypes[] = {
- BUTTON_KIND,
- BUTTON_KIND
- };
-
- UWORD Scale_GroupGTypes[] = {
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- CHECKBOX_KIND,
- BUTTON_KIND,
- STRING_KIND
- };
-
- UWORD Rotate_GroupGTypes[] = {
- MX_KIND,
- BUTTON_KIND,
- STRING_KIND
- };
-
- UWORD Move_GroupGTypes[] = {
- STRING_KIND,
- STRING_KIND,
- STRING_KIND,
- BUTTON_KIND
- };
-
- UWORD ConfigGTypes[] = {
- STRING_KIND,
- STRING_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- INTEGER_KIND,
- BUTTON_KIND,
- BUTTON_KIND,
- INTEGER_KIND
- };
-
- struct NewGadget MainNGad[] = {
- 0, 0, 17, 120, (UBYTE *)"Z", NULL, GD_G_Z_Expand, PLACETEXT_IN ,NULL, NULL,
- 0, 121, 17, 120, (UBYTE *)"Y", NULL, GD_G_Y_Expand, 0 ,NULL, NULL,
- 316, 0, 17, 104, (UBYTE *)"P", NULL, GD_G_Persp_Expand, PLACETEXT_IN ,NULL, NULL,
- 316, 121, 17, 120, (UBYTE *)"X", NULL, GD_G_X_Expand, 0 ,NULL, NULL,
- 316, 104, 17, 16, (UBYTE *)"R", NULL, GD_G_Persp_Rotate, PLACETEXT_IN ,NULL, NULL
- };
-
- struct NewGadget KnotInfoNGad[] = {
- 16, 35, 117, 13, (UBYTE *)"Tension", NULL, GD_G_Tension, PLACETEXT_IN ,NULL, NULL,
- 144, 35, 93, 13, NULL, NULL, GD_G_Tension_Value, 0 ,NULL, NULL,
- 16, 51, 117, 13, (UBYTE *)"Bias", NULL, GD_G_Bias, PLACETEXT_IN ,NULL, NULL,
- 144, 51, 93, 13, NULL, NULL, GD_G_Bias_Value, 0 ,NULL, NULL,
- 16, 67, 117, 13, (UBYTE *)"Continuity", NULL, GD_G_Continuity, PLACETEXT_IN ,NULL, NULL,
- 144, 67, 93, 13, NULL, NULL, GD_G_Continuity_Value, 0 ,NULL, NULL,
- 120, 2, 57, 13, (UBYTE *)"Point", NULL, GD_G_Point_Id, PLACETEXT_LEFT ,NULL, NULL,
- 60, 17, 57, 13, (UBYTE *)"Pos. ", NULL, GD_G_Knot_Pos_X, PLACETEXT_LEFT ,NULL, NULL,
- 120, 17, 57, 13, NULL, NULL, GD_G_Knot_Pos_Y, 0 ,NULL, NULL,
- 180, 17, 57, 13, NULL, NULL, GD_G_Knot_Pos_Z, 0 ,NULL, NULL
- };
-
- struct NewGadget ExpandedViewNGad[] = {
- 0, 0, 17, 212, (UBYTE *)"B", NULL, GD_G_Unexpand, PLACETEXT_IN ,NULL, NULL,
- 0, 212, 17, 30, (UBYTE *)"R", NULL, GD_G_Persp_Rotate_E, PLACETEXT_IN ,NULL, NULL
- };
-
- struct NewGadget Scale_GroupNGad[] = {
- 123, 3, 26, 11, (UBYTE *)"Scale X", NULL, GD_Scale_Group_X, PLACETEXT_LEFT ,NULL, NULL,
- 123, 17, 26, 11, (UBYTE *)"Scale Y", NULL, GD_Scale_Group_Y, PLACETEXT_LEFT ,NULL, NULL,
- 123, 31, 26, 11, (UBYTE *)"Scale Z", NULL, GD_Scale_Group_Z, PLACETEXT_LEFT ,NULL, NULL,
- 4, 45, 133, 13, (UBYTE *)"Scale factor", NULL, GD_Scale_Group_Factor, PLACETEXT_IN ,NULL, NULL,
- 144, 45, 73, 13, NULL, NULL, GD_Scale_Group_Factor_Value, 0 ,NULL, NULL
- };
-
- struct NewGadget Rotate_GroupNGad[] = {
- 164, 3, 17, 9, NULL, NULL, GD_Rotate_Group_Axis, PLACETEXT_LEFT ,NULL, NULL,
- 8, 45, 109, 13, (UBYTE *)"Angle", NULL, GD_Rotate_Group_Angle, PLACETEXT_IN ,NULL, NULL,
- 124, 45, 85, 13, NULL, NULL, GD_Rotate_Group_Angle_Value, 0 ,NULL, NULL
- };
-
- struct NewGadget Move_GroupNGad[] = {
- 32, 3, 89, 13, (UBYTE *)"X", NULL, GD_Move_Group_X_Value, PLACETEXT_LEFT ,NULL, NULL,
- 32, 19, 89, 13, (UBYTE *)"Y", NULL, GD_Move_Group_Y_Value, PLACETEXT_LEFT ,NULL, NULL,
- 32, 35, 89, 13, (UBYTE *)"Z", NULL, GD_Move_Group_Z_Value, PLACETEXT_LEFT ,NULL, NULL,
- 12, 53, 109, 13, (UBYTE *)"Move", NULL, GD_Move_Group_Move, PLACETEXT_IN ,NULL, NULL
- };
-
- struct NewGadget ConfigNGad[] = {
- 98, 25, 67, 14, (UBYTE *)"Grid size", NULL, GD_Grid_Size_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 25, 71, 14, (UBYTE *)"Draw delay", NULL, GD_Delay_Draw_Value, PLACETEXT_LEFT ,NULL, NULL,
- 284, 25, 48, 14, (UBYTE *)"Spl. resol. ", NULL, GD_Spline_Resolution_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 45, 48, 14, (UBYTE *)"Knot", NULL, GD_MQ_Size_KnotInfo_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 66, 48, 14, (UBYTE *)"Rot. Persp.", NULL, GD_MQ_Size_Rotate_P_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 87, 48, 14, (UBYTE *)"Rot. group ", NULL, GD_MQ_Size_Rotate_G_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 108, 48, 14, (UBYTE *)"Scale group", NULL, GD_MQ_Size_Scale_G_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 129, 48, 14, (UBYTE *)"Move group", NULL, GD_MQ_Size_Move_G_Value, PLACETEXT_LEFT ,NULL, NULL,
- 464, 150, 48, 14, (UBYTE *)"Move", NULL, GD_MQ_Size_Move_Value, PLACETEXT_LEFT ,NULL, NULL,
- 0, 169, 315, 15, (UBYTE *)"Ok", NULL, GD_Config_Ok, PLACETEXT_IN ,NULL, NULL,
- 317, 169, 315, 15, (UBYTE *)"Cancel", NULL, GD_Config_Cancel, PLACETEXT_IN ,NULL, NULL,
- 284, 46, 48, 14, (UBYTE *)"Patch resol.", NULL, GD_Patch_Resolution_Value, PLACETEXT_LEFT ,NULL, NULL
- };
-
- ULONG MainGTags[] = {
- (TAG_DONE),
- (TAG_DONE),
- (TAG_DONE),
- (TAG_DONE),
- (TAG_DONE)
- };
-
- ULONG KnotInfoGTags[] = {
- (TAG_DONE),
- (GTST_String), (ULONG)"0", (GTST_MaxChars), 10, (TAG_DONE),
- (TAG_DONE),
- (GTST_String), (ULONG)"0", (GTST_MaxChars), 10, (TAG_DONE),
- (TAG_DONE),
- (GTST_String), (ULONG)"0", (GTST_MaxChars), 10, (TAG_DONE),
- (GTNM_Number), -1, (GTNM_Border), TRUE, (TAG_DONE),
- (GTTX_Text), (ULONG)"0.0", (GTTX_Border), TRUE, (TAG_DONE),
- (GTTX_Text), (ULONG)"0.0", (GTTX_Border), TRUE, (TAG_DONE),
- (GTTX_Text), (ULONG)"0.0", (GTTX_Border), TRUE, (TAG_DONE)
- };
-
- ULONG ExpandedViewGTags[] = {
- (TAG_DONE),
- (TAG_DONE)
- };
-
- ULONG Scale_GroupGTags[] = {
- (GTCB_Checked), TRUE, (TAG_DONE),
- (GTCB_Checked), TRUE, (TAG_DONE),
- (GTCB_Checked), TRUE, (TAG_DONE),
- (TAG_DONE),
- (GTST_String), (ULONG)"1.0", (GTST_MaxChars), 10, (TAG_DONE)
- };
-
- ULONG Rotate_GroupGTags[] = {
- (GTMX_Labels), (ULONG)&Rotate_Group_Axis4Labels[ 0 ], (TAG_DONE),
- (TAG_DONE),
- (GTST_String), (ULONG)"0.0", (GTST_MaxChars), 10, (TAG_DONE)
- };
-
- ULONG Move_GroupGTags[] = {
- (GTST_String), (ULONG)"0.0", (GTST_MaxChars), 10, (TAG_DONE),
- (GTST_String), (ULONG)"0.0", (GTST_MaxChars), 10, (TAG_DONE),
- (GTST_String), (ULONG)"0.0", (GTST_MaxChars), 10, (TAG_DONE),
- (TAG_DONE)
- };
-
- ULONG ConfigGTags[] = {
- (GTST_String), (ULONG)"20.0", (GTST_MaxChars), 10, (TAG_DONE),
- (GTST_String), (ULONG)"0.5", (GTST_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE),
- (GTIN_Number), 0, (GTIN_MaxChars), 10, (TAG_DONE),
- (TAG_DONE),
- (TAG_DONE),
- (GTIN_Number), 4, (GTIN_MaxChars), 10, (TAG_DONE)
- };
-
- struct ColorSpec ScreenColors[] = {
- 0, 0x02, 0x02, 0x02,
- 1, 0x07, 0x07, 0x07,
- 2, 0x0A, 0x0A, 0x0A,
- 3, 0x06, 0x08, 0x0B,
- 4, 0x0F, 0x00, 0x00,
- 5, 0x0F, 0x0F, 0x00,
- 6, 0x00, 0x0F, 0x00,
- 7, 0x0D, 0x07, 0x06,
- 8, 0x0C, 0x05, 0x0C,
- 9, 0x0E, 0x05, 0x00,
- 10, 0x09, 0x0F, 0x01,
- 11, 0x0F, 0x0F, 0x06,
- 12, 0x05, 0x05, 0x0F,
- 13, 0x09, 0x02, 0x0F,
- 14, 0x00, 0x0F, 0x08,
- 15, 0x0C, 0x0C, 0x0C,
- ~0, 0x00, 0x00, 0x00 };
-
- UWORD DriPens[] = {
- 2,3,11,2,1,3,5,1,4,~0 };
-
- int SetupScreen( void )
- {
- if ( ! ( Scr = OpenScreenTags( NULL, SA_Left, 0,
- SA_Top, 0,
- SA_Width, 640,
- SA_Height, 256,
- SA_Depth, 4,
- SA_Colors, &ScreenColors[0],
- SA_Font, &topaz8,
- SA_Type, CUSTOMSCREEN,
- SA_DisplayID, PAL_MONITOR_ID|HIRES_KEY,
- SA_Pens, &DriPens[0],
- SA_Title, "ICoons",
- TAG_DONE )))
- return( 1L );
-
- if ( ! ( VisualInfo = GetVisualInfo( Scr, TAG_DONE )))
- return( 2L );
-
- return( 0L );
- }
-
- void CloseDownScreen( void )
- {
- if ( VisualInfo ) {
- FreeVisualInfo( VisualInfo );
- VisualInfo = NULL;
- }
-
- if ( Scr ) {
- CloseScreen( Scr );
- Scr = NULL;
- }
- }
-
- void MainRender( void )
- {
- UWORD offx, offy;
-
- offx = MainWnd->BorderLeft;
- offy = MainWnd->BorderTop;
-
-
- DrawBevelBox( MainWnd->RPort, offx + 335, offy + 121, 296, 120, GT_VisualInfo, VisualInfo, TAG_DONE );
- DrawBevelBox( MainWnd->RPort, offx + 334, offy + 0, 297, 120, GT_VisualInfo, VisualInfo, TAG_DONE );
- DrawBevelBox( MainWnd->RPort, offx + 18, offy + 0, 297, 120, GT_VisualInfo, VisualInfo, TAG_DONE );
- DrawBevelBox( MainWnd->RPort, offx + 18, offy + 121, 297, 120, GT_VisualInfo, VisualInfo, TAG_DONE );
- }
-
- int OpenMainWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &MainGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Main_CNT; lc++ ) {
-
- CopyMem((char * )&MainNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- MainGadgets[ lc ] = g = CreateGadgetA((ULONG)MainGTypes[ lc ], g, &ng, ( struct TagItem * )&MainGTags[ tc ] );
-
- while( MainGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( MainMenus = CreateMenus( MainNewMenu, GTMN_FrontPen, 0L, TAG_DONE )))
- return( 3L );
-
- LayoutMenus( MainMenus, VisualInfo, GTMN_TextAttr, &topaz8, TAG_DONE );
-
- if ( ! ( MainWnd = OpenWindowTags( NULL,
- WA_Left, MainLeft,
- WA_Top, MainTop,
- WA_Width, MainWidth,
- WA_Height, MainHeight + offy,
- WA_IDCMP, BUTTONIDCMP|IDCMP_GADGETDOWN|IDCMP_INTUITICKS|IDCMP_MOUSEMOVE|IDCMP_MOUSEBUTTONS|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_RAWKEY|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_REPORTMOUSE|WFLG_ACTIVATE,
- WA_Gadgets, MainGList,
- WA_Title, MainWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- SetMenuStrip( MainWnd, MainMenus );
- GT_RefreshWindow( MainWnd, NULL );
-
- MainRender();
-
- return( 0L );
- }
-
- void CloseMainWindow( void )
- {
- if ( MainMenus ) {
- ClearMenuStrip( MainWnd );
- FreeMenus( MainMenus );
- MainMenus = NULL; }
-
- if ( MainWnd ) {
- CloseWindow( MainWnd );
- MainWnd = NULL;
- }
-
- if ( MainGList ) {
- FreeGadgets( MainGList );
- MainGList = NULL;
- }
- }
-
- int OpenKnotInfoWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &KnotInfoGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < KnotInfo_CNT; lc++ ) {
-
- CopyMem((char * )&KnotInfoNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- KnotInfoGadgets[ lc ] = g = CreateGadgetA((ULONG)KnotInfoGTypes[ lc ], g, &ng, ( struct TagItem * )&KnotInfoGTags[ tc ] );
-
- while( KnotInfoGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( KnotInfoWnd = OpenWindowTags( NULL,
- WA_Left, KnotInfoLeft,
- WA_Top, KnotInfoTop,
- WA_Width, KnotInfoWidth,
- WA_Height, KnotInfoHeight + offy,
- WA_IDCMP, BUTTONIDCMP|STRINGIDCMP|NUMBERIDCMP|TEXTIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
- WA_Gadgets, KnotInfoGList,
- WA_Title, KnotInfoWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( KnotInfoWnd, NULL );
-
- return( 0L );
- }
-
- void CloseKnotInfoWindow( void )
- {
- if ( KnotInfoWnd ) {
- CloseWindow( KnotInfoWnd );
- KnotInfoWnd = NULL;
- }
-
- if ( KnotInfoGList ) {
- FreeGadgets( KnotInfoGList );
- KnotInfoGList = NULL;
- }
- }
-
- int OpenExpandedViewWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &ExpandedViewGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < ExpandedView_CNT; lc++ ) {
-
- CopyMem((char * )&ExpandedViewNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- ExpandedViewGadgets[ lc ] = g = CreateGadgetA((ULONG)ExpandedViewGTypes[ lc ], g, &ng, ( struct TagItem * )&ExpandedViewGTags[ tc ] );
-
- while( ExpandedViewGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( ExpandedViewWnd = OpenWindowTags( NULL,
- WA_Left, ExpandedViewLeft,
- WA_Top, ExpandedViewTop,
- WA_Width, ExpandedViewWidth,
- WA_Height, ExpandedViewHeight + offy,
- WA_IDCMP, BUTTONIDCMP|IDCMP_INTUITICKS|IDCMP_MOUSEMOVE|IDCMP_MOUSEBUTTONS|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_RAWKEY|IDCMP_VANILLAKEY|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_REPORTMOUSE|WFLG_ACTIVATE,
- WA_Gadgets, ExpandedViewGList,
- WA_Title, ExpandedViewWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( ExpandedViewWnd, NULL );
-
- return( 0L );
- }
-
- void CloseExpandedViewWindow( void )
- {
- if ( ExpandedViewWnd ) {
- CloseWindow( ExpandedViewWnd );
- ExpandedViewWnd = NULL;
- }
-
- if ( ExpandedViewGList ) {
- FreeGadgets( ExpandedViewGList );
- ExpandedViewGList = NULL;
- }
- }
-
- int OpenScale_GroupWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &Scale_GroupGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Scale_Group_CNT; lc++ ) {
-
- CopyMem((char * )&Scale_GroupNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- Scale_GroupGadgets[ lc ] = g = CreateGadgetA((ULONG)Scale_GroupGTypes[ lc ], g, &ng, ( struct TagItem * )&Scale_GroupGTags[ tc ] );
-
- while( Scale_GroupGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( Scale_GroupWnd = OpenWindowTags( NULL,
- WA_Left, Scale_GroupLeft,
- WA_Top, Scale_GroupTop,
- WA_Width, Scale_GroupWidth,
- WA_Height, Scale_GroupHeight + offy,
- WA_IDCMP, CHECKBOXIDCMP|BUTTONIDCMP|STRINGIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH,
- WA_Gadgets, Scale_GroupGList,
- WA_Title, Scale_GroupWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( Scale_GroupWnd, NULL );
-
- return( 0L );
- }
-
- void CloseScale_GroupWindow( void )
- {
- if ( Scale_GroupWnd ) {
- CloseWindow( Scale_GroupWnd );
- Scale_GroupWnd = NULL;
- }
-
- if ( Scale_GroupGList ) {
- FreeGadgets( Scale_GroupGList );
- Scale_GroupGList = NULL;
- }
- }
-
- int OpenRotate_GroupWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &Rotate_GroupGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Rotate_Group_CNT; lc++ ) {
-
- CopyMem((char * )&Rotate_GroupNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- Rotate_GroupGadgets[ lc ] = g = CreateGadgetA((ULONG)Rotate_GroupGTypes[ lc ], g, &ng, ( struct TagItem * )&Rotate_GroupGTags[ tc ] );
-
- while( Rotate_GroupGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( Rotate_GroupWnd = OpenWindowTags( NULL,
- WA_Left, Rotate_GroupLeft,
- WA_Top, Rotate_GroupTop,
- WA_Width, Rotate_GroupWidth,
- WA_Height, Rotate_GroupHeight + offy,
- WA_IDCMP, MXIDCMP|BUTTONIDCMP|STRINGIDCMP|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, Rotate_GroupGList,
- WA_Title, Rotate_GroupWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( Rotate_GroupWnd, NULL );
-
- return( 0L );
- }
-
- void CloseRotate_GroupWindow( void )
- {
- if ( Rotate_GroupWnd ) {
- CloseWindow( Rotate_GroupWnd );
- Rotate_GroupWnd = NULL;
- }
-
- if ( Rotate_GroupGList ) {
- FreeGadgets( Rotate_GroupGList );
- Rotate_GroupGList = NULL;
- }
- }
-
- int OpenMove_GroupWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &Move_GroupGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Move_Group_CNT; lc++ ) {
-
- CopyMem((char * )&Move_GroupNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- Move_GroupGadgets[ lc ] = g = CreateGadgetA((ULONG)Move_GroupGTypes[ lc ], g, &ng, ( struct TagItem * )&Move_GroupGTags[ tc ] );
-
- while( Move_GroupGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( Move_GroupWnd = OpenWindowTags( NULL,
- WA_Left, Move_GroupLeft,
- WA_Top, Move_GroupTop,
- WA_Width, Move_GroupWidth,
- WA_Height, Move_GroupHeight + offy,
- WA_IDCMP, STRINGIDCMP|BUTTONIDCMP|IDCMP_GADGETDOWN|IDCMP_MENUPICK|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_DRAGBAR|WFLG_DEPTHGADGET|WFLG_CLOSEGADGET|WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, Move_GroupGList,
- WA_Title, Move_GroupWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( Move_GroupWnd, NULL );
-
- return( 0L );
- }
-
- void CloseMove_GroupWindow( void )
- {
- if ( Move_GroupWnd ) {
- CloseWindow( Move_GroupWnd );
- Move_GroupWnd = NULL;
- }
-
- if ( Move_GroupGList ) {
- FreeGadgets( Move_GroupGList );
- Move_GroupGList = NULL;
- }
- }
-
- void ConfigRender( void )
- {
- UWORD offx, offy;
-
- offx = ConfigWnd->BorderLeft;
- offy = ConfigWnd->BorderTop;
-
- PrintIText( ConfigWnd->RPort, ConfigIText, offx, offy );
-
- DrawBevelBox( ConfigWnd->RPort, offx + 184, offy + 1, 250, 10, GT_VisualInfo, VisualInfo, TAG_DONE );
- }
-
- int OpenConfigWindow( void )
- {
- struct NewGadget ng;
- struct Gadget *g;
- UWORD lc, tc;
- UWORD offx = Scr->WBorLeft,offy = Scr->WBorTop + Scr->RastPort.TxHeight + 1;
-
- if ( ! ( g = CreateContext( &ConfigGList )))
- return( 1L );
-
- for( lc = 0, tc = 0; lc < Config_CNT; lc++ ) {
-
- CopyMem((char * )&ConfigNGad[ lc ], (char * )&ng, (long)sizeof( struct NewGadget ));
-
- ng.ng_VisualInfo = VisualInfo;
- ng.ng_TextAttr = &topaz8;
- ng.ng_LeftEdge += offx;
- ng.ng_TopEdge += offy;
-
- ConfigGadgets[ lc ] = g = CreateGadgetA((ULONG)ConfigGTypes[ lc ], g, &ng, ( struct TagItem * )&ConfigGTags[ tc ] );
-
- while( ConfigGTags[ tc ] ) tc += 2;
- tc++;
-
- if ( NOT g )
- return( 2L );
- }
-
- if ( ! ( ConfigWnd = OpenWindowTags( NULL,
- WA_Left, ConfigLeft,
- WA_Top, ConfigTop,
- WA_Width, ConfigWidth,
- WA_Height, ConfigHeight + offy,
- WA_IDCMP, STRINGIDCMP|INTEGERIDCMP|BUTTONIDCMP|IDCMP_CLOSEWINDOW|IDCMP_REFRESHWINDOW,
- WA_Flags, WFLG_SMART_REFRESH|WFLG_ACTIVATE,
- WA_Gadgets, ConfigGList,
- WA_Title, ConfigWdt,
- WA_ScreenTitle, "ICoons",
- WA_CustomScreen, Scr,
- TAG_DONE )))
- return( 4L );
-
- GT_RefreshWindow( ConfigWnd, NULL );
-
- ConfigRender();
-
- return( 0L );
- }
-
- void CloseConfigWindow( void )
- {
- if ( ConfigWnd ) {
- CloseWindow( ConfigWnd );
- ConfigWnd = NULL;
- }
-
- if ( ConfigGList ) {
- FreeGadgets( ConfigGList );
- ConfigGList = NULL;
- }
- }
-
-