Free Electron
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
fe::ext::NativeEventContext Class Reference

Implementation of an event loop using the raw native system. More...

#include <NativeEventContext.h>

Inheritance diagram for fe::ext::NativeEventContext:
Inheritance graph
[legend]

Public Member Functions

virtual void initialize (void)
 
virtual void loop (BWORD dropout)
 
virtual void threadLock (void)
 lock the display for the given thread More...
 
virtual void threadUnlock (void)
 unlock the display for the given thread More...
 
virtual void setPointerMotion (BWORD active)
 request buttonless mouse motion events More...
 
virtual BWORD pointerMotion (void)
 check if pointer motion events are on More...
 
virtual Real multiplication (void)
 
virtual void registerWindow (WindowI *window)
 pixel height of the current font More...
 
virtual void deregisterWindow (WindowI *window)
 
virtual void handleBind (sp< SignalerI > spSignalerI, sp< Layout > spLayout)
 
virtual void handle (Record &record)
 
Result broadcastEvent (FE_WINDOW_HANDLE *pWindow)
 
void setTimer (U32 set)
 
U32 getTimer (void)
 
void accumulateTime (U32 exclusive, U32 inclusive)
 
void fps (F32 *exclusive, F32 *inclusive)
 
void setCommandLine (char *line)
 
const char * commandLine (void) const
 
void endLoop (void)
 
FE_DISPLAY_HANDLE displayHandle (void)
 
WindowEventwindowEvent (void)
 
void setLastWindowHandle (FE_WINDOW_HANDLE handle)
 
void notifyCreate (FE_WINDOW_HANDLE &windowHandle)
 
XFontStruct * loadXFont (Display *a_pDisplayHandle, Real a_multiplication)
 
- Public Member Functions inherited from fe::Component
const Stringname (void) const
 Return the components chosen name. More...
 
const String verboseName (void) const
 Return the annotated chosen name. More...
 
void setName (const String &name)
 Rename the component to anything you want. More...
 
hp< Registryregistry (void) const
 Get the Registry that created this component. More...
 
void adjoin (sp< Component > spComponent)
 Tie this component's lifetime to another. More...
 
sp< Componentcreate (const String &implementation, BWORD quiet=FALSE) const
 Convienience function to registry()->create() More...
 
void disjoin (void)
 Untie component from Hub, if connected. More...
 
String factoryName (void)
 
void setLibrary (sp< Library > spLibrary)
 Store a reference to the library used to instantiate this component. More...
 
sp< Librarylibrary (void)
 Get the library that created the component. More...
 
void setFactoryIndex (I32 a_factoryIndex)
 Set the library's factory index. More...
 
I32 factoryIndex (void)
 Get the library's factory index. More...
 
void setSingleton (BWORD set)
 Specify whether component is a singleton. More...
 
BWORD isSingleton (void)
 Return whether component is a singleton. More...
 
virtual void acquire (void)
 Specialized reference increment. More...
 
virtual void release (void)
 Specialized reference decrement. More...
 
- Public Member Functions inherited from fe::Handled< Component >
const hp< Component > & getHandle (void) const
 Get a safe handle to this object. More...
 
- Public Member Functions inherited from fe::Protectable
virtual I32 protection (void) const
 
virtual void protect (void)
 
virtual void unprotect (void)
 
virtual Protectableclone (Protectable *pInstance=NULL)
 
- Public Member Functions inherited from fe::Counted
virtual void acquire (int &rCount)
 Increment the reference count (and get the count) More...
 
virtual void abandon (void)
 Decrement the reference count. More...
 
int count (void) const
 Return the count of references. More...
 
void setName (const String &)
 
void trackReference (void *pReference, String what)
 
void untrackReference (void *pReference)
 
void registerRegion (void *pT, U32 bytes)
 
- Public Member Functions inherited from fe::Initialized
void initializeAll (void)
 
void setActive (bool a_active)
 
- Public Member Functions inherited from fe::ext::HandlerI
virtual void handleSignal (Record &signal, sp< SignalerI > spSignalerI)
 

Static Public Member Functions

static U32 systemTimer (void)
 
static LRESULT CALLBACK wndProc (HWND hWND, UINT message, WPARAM wParam, LPARAM lParam)
 
- Static Public Member Functions inherited from fe::Counted
static String reportTracker (void)
 
static U32 trackerCount (void)
 

Private Member Functions

void nativeStartup (void)
 
void nativeShutdown (void)
 
void createEvent (void)
 
Result bindScope (sp< Scope > spScope)
 

Private Attributes

hp< SignalerIm_hpSignalerI
 
sp< Layout > m_spLayout
 
WindowEvent m_poll
 
WindowEvent m_event
 
Record m_record
 
List< WindowI * > m_windows
 
Accessor< FE_WINDOW_HANDLE * > m_aWindowHandle
 
Real m_multiplication
 
BWORD m_endloop
 
BWORD m_pointerMotion
 
char m_commandline [FE_COMMANDLINE_LENGTH]
 
U32 m_timer
 
U32 m_time_incl
 
U32 m_time_excl
 
U32 m_frames
 
F32 m_fps_incl
 
F32 m_fps_excl
 
FE_DISPLAY_HANDLE m_pDisplayHandle
 
FE_WINDOW_HANDLE m_lastWindowHandle
 
XFontStruct * m_pFontStruct
 
Atom m_atom [2]
 
I32 m_threadLocks
 
I32 m_threadID
 

Additional Inherited Members

- Protected Types inherited from fe::Initialized
typedef void(* InitializeFunction) (Initialized *)
 
- Protected Member Functions inherited from fe::Handled< Component >
void abandonHandle (void)
 
- Protected Member Functions inherited from fe::Counted
int releaseInternal (void)
 Decrement the reference count. More...
 
void suppressReport (void)
 
- Protected Member Functions inherited from fe::Initialized
void addInitializer (InitializeFunction function)
 

Detailed Description

Implementation of an event loop using the raw native system.

Member Function Documentation

◆ pointerMotion()

virtual BWORD fe::ext::NativeEventContext::pointerMotion ( void  )
inlinevirtual

check if pointer motion events are on

Implements fe::ext::EventContextI.

◆ registerWindow()

void fe::ext::NativeEventContext::registerWindow ( WindowI window)
virtual

pixel height of the current font

pixel width of string in the current font

Implements fe::ext::EventContextI.

◆ setPointerMotion()

void fe::ext::NativeEventContext::setPointerMotion ( BWORD  active)
virtual

request buttonless mouse motion events

This will can substantially increase the number of generated events, so it off by default.

Implements fe::ext::EventContextI.

◆ threadLock()

void fe::ext::NativeEventContext::threadLock ( void  )
virtual

lock the display for the given thread

Implements fe::ext::EventContextI.

◆ threadUnlock()

void fe::ext::NativeEventContext::threadUnlock ( void  )
virtual

unlock the display for the given thread

Implements fe::ext::EventContextI.


The documentation for this class was generated from the following files: