home *** CD-ROM | disk | FTP | other *** search
/ Amiga Tools 5 / Amiga Tools 5.iso / tools / developer-tools / c-tools / c_examples / appicon / appicon.cpp < prev    next >
Encoding:
C/C++ Source or Header  |  1996-05-18  |  1.8 KB  |  62 lines

  1. //////////////////////////////////////////////////////////////////////////////
  2. // AppIcon.cpp
  3. //
  4. // Deryk Robosson
  5. // May 8, 1996
  6. //////////////////////////////////////////////////////////////////////////////
  7.  
  8. //////////////////////////////////////////////////////////////////////////////
  9. // INCLUDES
  10. #include "aframe:include/AppIcon.hpp"
  11.  
  12. //////////////////////////////////////////////////////////////////////////////
  13. //
  14.  
  15. AFAppIcon::AFAppIcon()
  16.     :WorkbenchBase(NULL),
  17.     IconBase(NULL)
  18. {
  19.     if(!WorkbenchBase) {
  20.         if(!(WorkbenchBase=(struct WorkbenchBase*)OpenLibrary((UBYTE*)"workbench.library",(ULONG)36)))
  21.             printf("failed to open workbench.library\n");
  22.     }
  23.  
  24.     if(!IconBase) {
  25.         if(!(IconBase=(struct IconBase*)OpenLibrary((UBYTE*)"icon.library",(ULONG)36)))
  26.             printf("failed to open icon.library\n");
  27.     }
  28. }
  29.  
  30. AFAppIcon::~AFAppIcon()
  31. {
  32.     if(ai)
  33.         RemoveAppIcon(ai);
  34.     if(dob)
  35.         FreeDiskObject(dob);
  36.     if(WorkbenchBase)
  37.         CloseLibrary((struct Library*)WorkbenchBase);
  38.     if(IconBase)
  39.         CloseLibrary((struct Library*)IconBase);
  40. }
  41.  
  42. void AFAppIcon::Create(LPImage render, LPImage select, int id, char *appname, LPMsgPort appmsgport)
  43. {
  44.     if(dob=GetDiskObject(NULL)) {
  45.         dob->do_Gadget.Width = render->Width;
  46.         dob->do_Gadget.Height = render->Height;
  47.         dob->do_Gadget.GadgetRender = render;
  48.         if(select == NULL)
  49.             dob->do_Gadget.SelectRender = NULL;
  50.         else dob->do_Gadget.SelectRender = select;
  51.     } else printf("failed to getdiskobject\n");
  52.  
  53.     if(!(ai = (struct AppIcon*)AddAppIcon((ULONG)id, (ULONG)0, (UBYTE*)appname, appmsgport, NULL, dob, NULL)))
  54.         printf("AppIcon Failed!\n");
  55.  
  56. }
  57.  
  58. void AFAppIcon::Create(AFAmigaApp *theapp, LPImage render, LPImage select, int id, char *iconname)
  59. {
  60.     Create(render, select, id, iconname, theapp->appmsgport);
  61. }
  62.