Sleeping Wombat GUI  0.100
swGUI
Classes | Typedefs | Enumerations | Functions | Variables
sw::gui Namespace Reference

Classes

class  AccessKey
 Class Restincts access to some functions only for chosen classes. More...
 
class  Brush
 Brush base class. More...
 
struct  CommandLineArgs
 Structure for command line arguments. More...
 
class  DelegatesContainer
 Derived template class for delegates. More...
 
class  DelegatesContainerBase
 Base class for delegates containers. More...
 
class  DependencyObject
 Support for data binding. More...
 
class  DockPanel
 
class  DrawingContext
 Context passed to rendering functions. More...
 
class  EventHandlers
 Container class for delegates. More...
 
class  EventProxy
 Helper class for accessing event. More...
 
class  EventsSystem
 Events management. More...
 
class  GradientBrush
 
class  Grid
 
class  GUISystem
 Main GUI application class. More...
 
class  HostLogic
 Logic of host window for managing child controls. More...
 
class  HostWindow
 Root class for controls hierarchy, contains native window. More...
 
class  IControl
 Klasa bazowa dla kontrolek. More...
 
struct  IEventArgs
 Base class for events. More...
 
class  ImageBrush
 
class  INativeGUI
 Interface encasulates native GUI system. More...
 
class  INativeWindow
 Interface for native window sing OS specific ffunctions. More...
 
struct  InputEventArgs
 Base class for input events. More...
 
class  IPanel
 
struct  KeyboardEventArgs
 Base class for keyboard events. More...
 
struct  KeyEventArgs
 Key state changed event. More...
 
class  LinearGradient
 
class  MockGUI
 
class  MockWindow
 Fake window for tests. More...
 
struct  MouseButtonEventArgs
 Mouse button clicked event. More...
 
struct  MouseEventArgs
 Base class for mouse input events. More...
 
struct  MouseMoveEventArgs
 Mouse moved event. More...
 
struct  MouseWheelEventArgs
 Mouse wheel changed position. More...
 
struct  NativeGUIInitData
 Provides data needed for native GUI system initialization. More...
 
struct  NativeWindowDescriptor
 Dedcriptor used to create native GUI window. More...
 
class  RadialGradient
 
struct  Rect
 Rectangle structure. More...
 
struct  RegisteredEvent
 Structure describes event registered by controls. More...
 
class  RenderingSystem
 GUI rendering system. More...
 
class  SolidColorBrush
 
class  StackPanel
 
class  TestFramework
 Class used as application entry point in tests. More...
 
struct  Thickness
 
class  TopLevelControl
 
class  UIElement
 Interface for all controls in tree. More...
 
class  Visual
 Provide interface for visual controls which can be rendered. More...
 
class  Win32ApiWindow
 Native window uses WinApi. More...
 
class  WinAPIGUI
 
class  WrapPanel
 

Typedefs

typedef DirectX::XMFLOAT2 Position
 
typedef DirectX::XMFLOAT2 Size2D
 
template<typename EventArgType >
using EventDelegate = fastdelegate::FastDelegate2< UIElement *, EventArgType * >
 
template<typename ArgumentType >
using EventHandlerPointer = void(UIElement::*)(UIElement *, ArgumentType *)
 
typedef uint32 EventType
 Event type identifier. More...
 
typedef fastdelegate::FastDelegate2< INativeWindow *, bool > ChangedFocusDelegate
 

Enumerations

enum  VerticalAlignment : char { VerticalAlignment::Bottom, VerticalAlignment::Center, VerticalAlignment::Stretch, VerticalAlignment::Top }
 
enum  HorizontalAlignment : char { HorizontalAlignment::Left, HorizontalAlignment::Center, HorizontalAlignment::Right, HorizontalAlignment::Stretch }
 
enum  RoutingStrategy : uint8 { RoutingStrategy::Bubble, RoutingStrategy::Direct, RoutingStrategy::Tunnel }
 Describes how event behaves in visual tree. More...
 

Functions

 REGISTER_EVENT_DEFINITION (PreviewMouseUp, RoutingStrategy::Tunnel, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseDown, RoutingStrategy::Tunnel, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseRightButtonUp, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseRightButtonDown, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseLeftButtonDown, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseLeftButtonUp, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseWheel, RoutingStrategy::Tunnel, UIElement, MouseWheelEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewMouseMove, RoutingStrategy::Tunnel, UIElement, MouseEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewKeyDown, RoutingStrategy::Tunnel, UIElement, KeyEventArgs)
 
 REGISTER_EVENT_DEFINITION (PreviewKeyUp, RoutingStrategy::Tunnel, UIElement, KeyEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseUp, RoutingStrategy::Bubble, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseDown, RoutingStrategy::Bubble, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseRightButtonDown, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseRightButtonUp, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseLeftButtonDown, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseLeftButtonUp, RoutingStrategy::Direct, UIElement, MouseButtonEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseWheel, RoutingStrategy::Bubble, UIElement, MouseWheelEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseMove, RoutingStrategy::Bubble, UIElement, MouseEventArgs)
 
 REGISTER_EVENT_DEFINITION (KeyUp, RoutingStrategy::Tunnel, UIElement, KeyEventArgs)
 
 REGISTER_EVENT_DEFINITION (KeyDown, RoutingStrategy::Tunnel, UIElement, KeyEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseEnter, RoutingStrategy::Direct, UIElement, MouseEventArgs)
 
 REGISTER_EVENT_DEFINITION (MouseLeave, RoutingStrategy::Direct, UIElement, MouseEventArgs)
 
 DEFINE_OPTR_TYPE (UIElement)
 
 DEFINE_OPTR_TYPE (DelegatesContainerBase)
 
bool operator< (const RegisteredEvent &left, const RegisteredEvent &right)
 
 DEFINE_OPTR_TYPE (IEventArgs)
 
 DEFINE_OPTR_TYPE (KeyEventArgs)
 
 DEFINE_OPTR_TYPE (MouseButtonEventArgs)
 
 DEFINE_OPTR_TYPE (MouseMoveEventArgs)
 
INativeGUICreateNativeGUI ()
 
 DEFINE_OPTR_TYPE (HostWindow)
 
 DEFINE_PTR_TYPE (HostWindow)
 
 DEFINE_OPTR_TYPE (RenderingSystem)
 
LRESULT CALLBACK WindowProcedure (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 Window procedure. More...
 
INativeWindowGetNativePointer (HWND window)
 Retrives INativeWindow pointer hidden in native window extra bytes. More...
 
WinAPIGUIGetNativeAPIPointer (HWND window)
 Retrives WinAPIGUI pointer hidden in native window extra bytes. More...
 

Variables

const wchar_t WINDOW_CLASS_NAME [] = L"gui Window"
 

Typedef Documentation

typedef fastdelegate::FastDelegate2< INativeWindow*, bool > sw::gui::ChangedFocusDelegate
template<typename EventArgType >
using sw::gui::EventDelegate = typedef fastdelegate::FastDelegate2< UIElement*, EventArgType* >
template<typename ArgumentType >
using sw::gui::EventHandlerPointer = typedef void ( UIElement::* )( UIElement*, ArgumentType* )
typedef DirectX::XMFLOAT2 sw::gui::Position
typedef DirectX::XMFLOAT2 sw::gui::Size2D

Enumeration Type Documentation

enum sw::gui::HorizontalAlignment : char
strong
Enumerator
Left 
Center 
Right 
Stretch 
enum sw::gui::VerticalAlignment : char
strong
Enumerator
Bottom 
Center 
Stretch 
Top 

Function Documentation

INativeGUI * sw::gui::CreateNativeGUI ( )
Todo:
This should be moved domewhere else.
sw::gui::DEFINE_OPTR_TYPE ( DelegatesContainerBase  )
sw::gui::DEFINE_OPTR_TYPE ( UIElement  )
sw::gui::DEFINE_OPTR_TYPE ( IEventArgs  )
sw::gui::DEFINE_OPTR_TYPE ( MouseMoveEventArgs  )
sw::gui::DEFINE_OPTR_TYPE ( KeyEventArgs  )
sw::gui::DEFINE_OPTR_TYPE ( MouseButtonEventArgs  )
sw::gui::DEFINE_OPTR_TYPE ( RenderingSystem  )
sw::gui::DEFINE_OPTR_TYPE ( HostWindow  )
sw::gui::DEFINE_PTR_TYPE ( HostWindow  )
WinAPIGUI * sw::gui::GetNativeAPIPointer ( HWND  window)

Retrives WinAPIGUI pointer hidden in native window extra bytes.

INativeWindow * sw::gui::GetNativePointer ( HWND  window)

Retrives INativeWindow pointer hidden in native window extra bytes.

bool sw::gui::operator< ( const RegisteredEvent left,
const RegisteredEvent right 
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseUp  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseDown  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseRightButtonUp  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseRightButtonDown  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseLeftButtonDown  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseLeftButtonUp  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseWheel  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
MouseWheelEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewMouseMove  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
MouseEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewKeyDown  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
KeyEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( PreviewKeyUp  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
KeyEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseUp  ,
RoutingStrategy::Bubble  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseDown  ,
RoutingStrategy::Bubble  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseRightButtonDown  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseRightButtonUp  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseLeftButtonDown  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseLeftButtonUp  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseButtonEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseWheel  ,
RoutingStrategy::Bubble  ,
UIElement  ,
MouseWheelEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseMove  ,
RoutingStrategy::Bubble  ,
UIElement  ,
MouseEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( KeyUp  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
KeyEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( KeyDown  ,
RoutingStrategy::Tunnel  ,
UIElement  ,
KeyEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseEnter  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseEventArgs   
)
sw::gui::REGISTER_EVENT_DEFINITION ( MouseLeave  ,
RoutingStrategy::Direct  ,
UIElement  ,
MouseEventArgs   
)
LRESULT CALLBACK sw::gui::WindowProcedure ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Window procedure.

Variable Documentation

const wchar_t sw::gui::WINDOW_CLASS_NAME[] = L"gui Window"