FEMSuite
Public Member Functions | Protected Attributes | List of all members
GLScreen Class Reference

This class describes a screen. A drawable object manager gets access to this class, or a child thereof. (For example, a GLScreen would be used to set current context) More...

#include <GLScreen.h>

Inheritance diagram for GLScreen:
Inheritance graph
[legend]
Collaboration diagram for GLScreen:
Collaboration graph
[legend]

Public Member Functions

virtual void MouseMoved (wxMouseEvent &event) override
 
virtual void MouseDown (wxMouseEvent &event) override
 
virtual void MouseWheelMoved (wxMouseEvent &event) override
 
virtual void MouseReleased (wxMouseEvent &event) override
 
virtual void RightClick (wxMouseEvent &event) override
 
virtual void MouseLeftWindow (wxMouseEvent &event) override
 
virtual void KeyPressed (wxKeyEvent &event) override
 
virtual void KeyReleased (wxKeyEvent &event) override
 
virtual void Redraw () override
 
virtual void Render (wxPaintEvent &evt) override
 
virtual void SetupGL ()
 
virtual void Flush ()
 
virtual void DrawLine (const Point< Pixel > &p0, const Point< Pixel > &pF, const Color &c) override
 
virtual void DrawQuad (const std::array< Point< Pixel >, 4 > &, const DisplayStyle &) override
 
virtual void DrawPolygon (const std::vector< Point< Pixel > > &, const DisplayStyle &) override
 
virtual void DrawTringulatedPolygon (const std::vector< Point< Pixel > > &, const Point< Pixel > &c, const DisplayStyle &)
 
virtual void DrawCircle (const Point< Pixel > &, const Pixel d, const DisplayStyle &, const int segments=CIRCLE_SEGMENTS_AUTO) override
 
virtual void DrawEllipse (const Point< Pixel > &, const DimensionArray< Pixel > &diameters, const Radian theta, const Radian phi, const DisplayStyle &, const int segments=CIRCLE_SEGMENTS_AUTO) override
 
virtual void DisplayText (const Point< Pixel > &, const std::string &, const Color &c, const unsigned int flags) override
 
virtual void DrawSimpleSquare (const Point< Pixel > &, const Pixel size)
 
virtual void PrintLine (const std::string &str, Pixel size, const Point< Pixel > &p, const Color &color)
 
virtual void PrintParagraph (const std::string &text, const Pixel size, const Point< Pixel > &p, const Color &color)
 
virtual Pixel GetPixelWidth () override
 
virtual Pixel GetPixelHeight () override
 
wxCursor ToWxCursor (IScreen::CursorType) const
 Converts the abstract cursor type to a usable wxCuros More...
 
void LoadFont ()
 
void DrawChar (const unsigned char c, const Pixel size, const Point< Pixel > &, const Color &)
 
virtual void Log (const std::string &s) override
 
 GLScreen (wxFrame *parent, int *args)
 
- Public Member Functions inherited from BasicGLPane
 BasicGLPane (wxFrame *parent, int *args)
 
wxGLContext * GetContext () const
 
void Resized (wxSizeEvent &evt)
 
int GetWidth ()
 
int GetHeight ()
 
void Prepare3DViewport (int topleft_x, int topleft_y, int bottomrigth_x, int bottomrigth_y)
 
void Prepare2DViewport (int topleft_x, int topleft_y, int bottomrigth_x, int bottomrigth_y)
 
 wxDECLARE_EVENT_TABLE ()
 
- Public Member Functions inherited from ScreenBase
ObjectManagerGetObjectManager () const override
 
void SetObjectManager (ObjectManager *const om) override
 
virtual void DrawLine (const Point< Spatial > &p0, const Point< Spatial > &pF, const Color &c) override
 
virtual void DrawQuad (const std::array< Point< Spatial >, 4 > &, const DisplayStyle &) override
 
virtual void DrawPolygon (const std::vector< Point< Spatial > > &, const DisplayStyle &) override
 
virtual void DrawCircle (const Point< Spatial > &, const Spatial d, const DisplayStyle &, const int segments=CIRCLE_SEGMENTS_AUTO) override
 
virtual void DrawEllipse (const Point< Spatial > &, const DimensionArray< Spatial > &diameter, const Radian theta, const Radian phi, const DisplayStyle &, const int segments=CIRCLE_SEGMENTS_AUTO) override
 
virtual void DisplayText (const Point< Spatial > &, const std::string &, const Color &c, const unsigned int flags=0) override
 
virtual bool Is3D () const override
 
virtual Spatial GetDistancePerPixel () const override
 
virtual void SetDistancePerPixel (const Spatial dps) override
 
virtual void IncrementDistancePerPixel () override
 
virtual void DecrementDistancePerPixel () override
 
virtual Point< Spatial > GetTopLeftPoint () const override
 
virtual void SetTopLeftPoint (const Point< Spatial > &p) override
 
virtual Point< Spatial > PixelToPoint (const Point< Pixel > &p) override
 
virtual Point< Pixel > PointToPixel (const Point< Spatial > &) override
 
virtual Point< Spatial > CalculateBottomRightPoint () override
 
virtual Point< Spatial > GetCenter () override
 
virtual void Recenter (const Point< Spatial > &) override
 
void UpdateGridShifts ()
 

Protected Attributes

bool m_DraggingScreen
 Specifies if the screen is currently being dragged More...
 
Point< Spatial > m_ScreenDragReference
 Reference point for dragging the screen. Set on mousedown. More...
 
std::vector< unsigned char > m_Font
 
- Protected Attributes inherited from ScreenBase
ObjectManagerm_ObjectManager
 

Additional Inherited Members

- Public Types inherited from IScreen
enum  CursorType : unsigned char {
  Arrow, Hand, Rotation, Crosshair,
  Sideways, Updown, NESW, NWSE,
  NotAllowed, CURSORS
}
 This describes possible cursors that an object manager can pass to a screen More...
 

Detailed Description

This class describes a screen. A drawable object manager gets access to this class, or a child thereof. (For example, a GLScreen would be used to set current context)

Member Function Documentation

void GLScreen::DisplayText ( const Point< Pixel > &  ,
const std::string &  ,
const Color c,
const unsigned int  flags 
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

void GLScreen::DrawCircle ( const Point< Pixel > &  ,
const Pixel  d,
const DisplayStyle ,
const int  segments = CIRCLE_SEGMENTS_AUTO 
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

void GLScreen::DrawEllipse ( const Point< Pixel > &  ,
const DimensionArray< Pixel > &  diameter,
const Radian  theta,
const Radian  phi,
const DisplayStyle ,
const int  segments = CIRCLE_SEGMENTS_AUTO 
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

void GLScreen::DrawLine ( const Point< Pixel > &  p0,
const Point< Pixel > &  pF,
const Color c 
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

void GLScreen::DrawPolygon ( const std::vector< Point< Pixel > > &  ,
const DisplayStyle  
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

void GLScreen::DrawQuad ( const std::array< Point< Pixel >, 4 > &  ,
const DisplayStyle  
)
overridevirtual

Empty override is needed to avoid undefined abstract methods. The methods are overriden by the top-level subclasses (e.g. GLScreen)

Reimplemented from ScreenBase.

wxCursor GLScreen::ToWxCursor ( IScreen::CursorType  ct) const

Converts the abstract cursor type to a usable wxCuros

Member Data Documentation

bool GLScreen::m_DraggingScreen
protected

Specifies if the screen is currently being dragged

Point<Spatial> GLScreen::m_ScreenDragReference
protected

Reference point for dragging the screen. Set on mousedown.


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