## Public API Reference

- Main Page
- Modules
- Namespaces
- Classes
- Files
- Related Pages

- File List
- File Members

# csutil/macosx/OSXAssistant.h

Go to the documentation of this file.

    00001 #ifndef __CSSYS_MACOSX_OSXAssistant_h
    00002 #define __CSSYS_MACOSX_OSXAssistant_h
    00003 //=============================================================================
    00004 //
    00005 //      Copyright (C)1999-2003 by Eric Sunshine <sunshine@sunshineco.com>
    00006 //
    00007 // The contents of this file are copyrighted by Eric Sunshine.  This work is
    00008 // distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
    00009 // without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
    00010 // PARTICULAR PURPOSE.  You may distribute this file provided that this
    00011 // copyright notice is retained.  Send comments to <sunshine@sunshineco.com>.
    00012 //
    00013 //=============================================================================
    00014 //-----------------------------------------------------------------------------
    00015 // OSXAssistant.h
    00016 //
    00017 //      Declares SCF interface for an object which provides assistance to
    00018 //      MacOS/X-specific canvases, as well as to the Objective-C side of the
    00019 //      application delegate.
    00020 //
    00021 //-----------------------------------------------------------------------------
    00022 #include "csutil/scf.h"
    00023
    00027
    00028 typedef void* OSXEvent;
    00030 typedef void* OSXView;
    00031
    00032 SCF_VERSION (iOSXAssistant, 0, 0, 2);
    00033
    00048 struct iOSXAssistant : public iBase
    00049 {
    00053   virtual void request_shutdown() = 0;
    00054
    00059   virtual void advance_state() = 0;
    00060
    00065   virtual bool always_runs() = 0;
    00066
    00073   virtual bool continue_running() = 0;
    00074
    00080   virtual void application_activated() = 0;
    00081
    00087   virtual void application_deactivated() = 0;
    00088
    00094   virtual void application_hidden() = 0;
    00095
    00101   virtual void application_unhidden() = 0;
    00102
    00108   virtual void flush_graphics_context() = 0;
    00109
    00113   virtual void hide_mouse_pointer() = 0;
    00114
    00118   virtual void show_mouse_pointer() = 0;
    00119
    00134   virtual void dispatch_event(OSXEvent, OSXView) = 0;
    00135
    00140   virtual void key_down(unsigned int raw, unsigned int cooked) = 0;
    00141
    00146   virtual void key_up(unsigned int raw, unsigned int cooked) = 0;
    00147
    00154   virtual void mouse_down(int button, int x, int y) = 0;
    00155
    00162   virtual void mouse_up(int button, int x, int y) = 0;
    00163
    00170   virtual void mouse_moved(int x, int y) = 0;
    00171 };
    00172
    00173 #endif // __CSSYS_MACOSX_OSXAssistant_h