home *** CD-ROM | disk | FTP | other *** search
/ Virtual Reality Zone / VRZONE.ISO / mac / PC / PCGLOVE / GLOVE / OBJGLV.ZIP / INCLUDE / GLOVMOUS.HPP < prev    next >
C/C++ Source or Header  |  1993-05-08  |  2KB  |  88 lines

  1. //
  2. // GlovMous.hpp:
  3. //    Interface Definition of classes TDemoWindow and TGloveApp.
  4. //    Example use of Object Glove.
  5. //
  6. // Purpose:
  7. //    Sets up the Windows glove application.
  8. //
  9. // Compatibility:
  10. //    Windows only!
  11. //
  12. // Copyright 1993   Mark Thomas Pflaging
  13. //
  14. // Date:    3/22/93 (Release 3.0)
  15. //
  16. #ifndef __GLOVMOUS_HPP
  17. #define __GLOVMOUS_HPP
  18.  
  19. #include <owl.h>
  20. #include <static.h>
  21.  
  22. #include "smooth.hpp"
  23. #include "mousgest.hpp"
  24.  
  25. _CLASSDEF(TGloveApp)
  26. class TGloveApp : public TApplication
  27. {
  28.     InitFile * gloveIni;
  29.     rawGlove * GLOVE1;
  30.     GloveMouseGestures *gloveGesture1;
  31.     GestureSystem *gestSys;
  32.     HCURSOR HGloveCursor, OldCursor;
  33.     int width, height;
  34.     float xsensitivity, ysensitivity;
  35. public:
  36.     TGloveApp(LPSTR AName, HINSTANCE hInstance, HINSTANCE hPrevInstance,
  37.         LPSTR lpCmdLine, int nCmdShow)
  38.         : TApplication(AName, hInstance, hPrevInstance, lpCmdLine, nCmdShow),
  39.         GLOVE1(NULL), gloveGesture1(NULL),
  40.         gestSys(NULL),     HGloveCursor(NULL) {
  41.             width = GetSystemMetrics(SM_CXSCREEN);
  42.             height = GetSystemMetrics(SM_CYSCREEN);
  43.     }
  44.     ~TGloveApp();
  45.     void Setup();
  46.     virtual void InitMainWindow();
  47.     virtual void InitApplication();
  48.     virtual void InitInstance();
  49.     virtual void IdleAction();
  50.     static void graphicsOutput(gloveDriver & gd, void * app);
  51.     void InitGlove();
  52. };
  53.  
  54. _CLASSDEF(TMyWindow)
  55. class TScreenWindow : public TWindow
  56. {
  57.     COLORREF PenColor;
  58.     HDC DragDC;
  59.     HPEN ThePen;
  60.     LOGBRUSH BrushData;
  61.     HBRUSH TheBrush;
  62.     static HGDIOBJ oldPen;
  63.     static HGDIOBJ oldBrush;
  64.     int PenSize;
  65.     HICON hGloveIcon;
  66.  
  67.     void ActivateBrush() {
  68.         DeleteObject(TheBrush);
  69.         TheBrush = CreateBrushIndirect(& BrushData);
  70.     }
  71. protected:
  72.     virtual void SetupWindow();
  73.  
  74. public:
  75.     TScreenWindow(PTWindowsObject AParent, LPSTR ATitle, PTModule AModule);
  76.     ~TScreenWindow();
  77.     virtual BOOL CanClose();
  78.     void SetPenSize(int NewSize);
  79.     void SetPenColor(COLORREF NewColor);
  80.     void setupHDC(HDC DC, int currentColor);
  81.     void releaseHDC(HDC DC);
  82.     void infoDisplay(gloveDriver & gd);
  83.     virtual void Paint(HDC DC, PAINTSTRUCT& PS);
  84.     virtual void GetWindowClass(WNDCLASS & AWndClass);
  85. };
  86.  
  87. #endif
  88.