/*========================================================================= StarIcon.c -- This module creates PROJECT type icons for saved parameter files. It uses the ICON library opened in Star1.c. Credits for Star Chart: Robert L. Hill of the Orange County, CA. Amiga Friends User Group wrote the original version of StarChart in AmigaBasic The star data and many of the main functions of this version are derived from that program. Ray R. Larson wrote the c version 1.0 of StarChart, 'intuitionizing' and enhancing the speed and functions of the original. Copyright (c) 1986 by Ray R. Larson This program may be freely distributed and copied, but may not be sold without the permission of the author. If you modify or enhance it, please include the above credits (and please send me a copy!). Ray R. Larson 6425 Central Ave. #304 El Cerrito, CA 94530 BitNet LARSON@UCBCMSA =========================================================================*/ /*------------Header file for all of the standard stuff----*/ /*-------------plus definitions of global structures-------*/ #include "star.h" #include extern LONG IconBase; /* Image staricon sizes */ #define ICONWidth 52 #define ICONHeight 27 #define ICONDepth 2 /* Image Data */ /***************************************************************/ /* The following data structure contains the icon image data */ /***************************************************************/ USHORT staricon[]= { 0x7fff, 0xffff, 0xffff, 0xf750, 0x4000, 0x0000, 0x0800, 0x1000, 0x4100, 0x0000, 0x4900, 0x107f, 0x4000, 0x0000, 0x1c00, 0x1000, 0x4000, 0x000d, 0xffd0, 0x1000, 0x4000, 0x0000, 0x1c00, 0x107e, 0x4000, 0x0000, 0x4900, 0x1000, 0x4002, 0x0000, 0x0804, 0x1000, 0x4007, 0x0000, 0x0000, 0x1067, 0x4002, 0x0000, 0x0000, 0x1000, 0x4000, 0x0000, 0x0000, 0x1000, 0x4000, 0x0000, 0x0000, 0x1011, 0x4000, 0x0080, 0x0000, 0x1000, 0x4000, 0x0000, 0x0000, 0x1000, 0x4010, 0x0100, 0x0020, 0x107f, 0x4000, 0x0100, 0x0000, 0x1000, 0x4000, 0x0380, 0x0000, 0x1000, 0x4020, 0x57d4, 0x0000, 0x107f, 0x4000, 0x0380, 0x0000, 0x1000, 0x4000, 0x0100, 0x0000, 0x1000, 0x4000, 0x0100, 0x0000, 0x1044, 0x4000, 0x0000, 0x0000, 0x1000, 0x4000, 0x0000, 0x0100, 0x1000, 0x4000, 0x0000, 0x0380, 0x1011, 0x4000, 0x0000, 0x0100, 0x1000, 0x4000, 0x0000, 0x0000, 0x1000, 0x7fff, 0xffff, 0xffff, 0xf07f, 0x7fff, 0xffff, 0xffff, 0xf550, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7eff, 0xffff, 0xf7ff, 0xf000, 0x7fff, 0xffff, 0xebff, 0xf000, 0x7fff, 0xffff, 0xd5ff, 0xf000, 0x7fff, 0xffff, 0xebff, 0xf000, 0x7fff, 0xffff, 0xf7ff, 0xf000, 0x7fff, 0xffff, 0xfffb, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf060, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf030, 0x7fff, 0xfeff, 0xffff, 0xf000, 0x7fff, 0xfeff, 0xffff, 0xf000, 0x7fff, 0xfc7f, 0xffff, 0xf000, 0x7fdf, 0xa82b, 0xffff, 0xf000, 0x7fff, 0xfc7f, 0xffff, 0xf000, 0x7fff, 0xfeff, 0xffff, 0xf000, 0x7fff, 0xfeff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xfeff, 0xf000, 0x7fff, 0xffff, 0xfc7f, 0xf000, 0x7fff, 0xffff, 0xfeff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x7fff, 0xffff, 0xffff, 0xf000, 0x0000, }; struct Image INFOImage = { 0,0, /* Left, Top edges */ ICONWidth,ICONHeight,/* pixel size */ ICONDepth, /* Bitplanes */ &staricon[0], /* image data */ 0x03,0x00, /* PlanePick & onoff */ NULL /* next image */ }; /* Tooltypes array */ UBYTE *Tools[] = { (UBYTE *)"FILETYPE=StarChart.ParmFile", (UBYTE *)"MODES=", NULL }; /* DiskObject structure for creating the .info file */ struct DiskObject StarDO = { WB_DISKMAGIC, /* magic numbers defined in Intuition.h */ WB_DISKVERSION, /* Gadget Structure */ { NULL, /* next gadget */ 0,0, /* LeftEdge, TopEdge */ ICONWidth,ICONHeight, /* Width, Height */ GADGHBOX | GADGIMAGE, /* Gadget Flags */ RELVERIFY | GADGIMMEDIATE,/* Activation Flags */ BOOLGADGET, /* Gadget Type */ (APTR)&INFOImage, /* Gadget Render Image */ NULL,NULL, /* SelectRender, GadgetText */ 0,0,0,0 /* Mutual Excl., Special Info, ID, USER */ }, WBPROJECT, /* Object type */ "StarChart", /* Default Tool */ (char * *)&Tools[0], /* ToolTypes array */ NO_ICON_POSITION, /* do_CurrentX */ NO_ICON_POSITION, /* do_CurrentY */ NULL, /* DrawerData */ NULL, /* *do_ToolWindow */ 0, /* do_StackSize */ }; /************************************************************************* * MakeInfoFile - Creates a Project type icon for saved parameter files * from StarChart. ************************************************************************/ MakeInfoFile(filename) UBYTE *filename; { return(PutDiskObject(filename, &StarDO)); }