Minsky
minsky::EquationDisplay Class Reference

#include <equationDisplay.h>

Inheritance diagram for minsky::EquationDisplay:
Inheritance graph
Collaboration diagram for minsky::EquationDisplay:
Collaboration graph

Public Member Functions

double width () const
 
double height () const
 
 EquationDisplay (Minsky &m)
 
EquationDisplayoperator= (const EquationDisplay &x)
 
 EquationDisplay (const EquationDisplay &)=default
 
void requestRedraw ()
 
bool hasScrollBars () const override
 return whether this window has scrollbars (needed for MacOSX). More...
 
- Public Member Functions inherited from minsky::RenderNativeWindow
const RenderFrameArgsframeArgs () const
 
 ~RenderNativeWindow () override
 
virtual void init ()
 perform any initialisation of any subclasses of this More...
 
void renderFrame (const RenderFrameArgs &args)
 
void destroyFrame ()
 
void draw ()
 
void requestRedraw ()
 
void macOSXRedraw ()
 
RenderNativeWindowoperator= (const RenderNativeWindow &x)
 
 RenderNativeWindow ()=default
 
 RenderNativeWindow (const RenderNativeWindow &)=default
 
- Public Member Functions inherited from minsky::EventInterface
virtual void mouseDown (float x, float y)
 
virtual void controlMouseDown (float x, float y)
 
virtual void mouseUp (float x, float y)
 
virtual void mouseMove (float x, float y)
 
virtual void zoom (double x, double y, double z)
 
virtual void moveTo (float x, float y)
 move this so that (x,y) is centred More...
 
virtual std::vector< float > position () const
 current centre coordinates More...
 
virtual double zoomFactor () const
 
virtual bool keyPress (const KeyPressArgs &)
 handle key press over current itemFocus, More...
 
virtual bool getItemAt (float x, float y)
 item or wire obtained by get*At() calls More...
 
virtual bool getWireAt (float x, float y)
 item or wire obtained by get*At() calls More...
 

Public Attributes

float offsx =0
 
float offsy =0
 
float m_zoomFactor =1
 
- Public Attributes inherited from minsky::EventInterface
ItemPtr item
 item or wire obtained by get*At() calls More...
 
WirePtr wire
 item or wire obtained by get*At() calls More...
 

Private Member Functions

bool redraw (int x0, int y0, int width, int height) override
 
 CLASSDESC_ACCESS (EquationDisplay)
 

Private Attributes

Minskym
 
double m_width =0
 
double m_height =0
 

Additional Inherited Members

- Static Public Member Functions inherited from minsky::RenderNativeWindow
static double scaleFactor ()
 
- Static Public Attributes inherited from minsky::RenderNativeWindow
static ecolab::cairo::Colour backgroundColour {0.8,0.8,0.8,1}
 

Detailed Description

Definition at line 29 of file equationDisplay.h.

Constructor & Destructor Documentation

◆ EquationDisplay() [1/2]

minsky::EquationDisplay::EquationDisplay ( Minsky m)
inline

Definition at line 39 of file equationDisplay.h.

39 : m(m) {}

◆ EquationDisplay() [2/2]

minsky::EquationDisplay::EquationDisplay ( const EquationDisplay )
default

Member Function Documentation

◆ CLASSDESC_ACCESS()

minsky::EquationDisplay::CLASSDESC_ACCESS ( EquationDisplay  )
private

◆ hasScrollBars()

bool minsky::EquationDisplay::hasScrollBars ( ) const
inlineoverridevirtual

return whether this window has scrollbars (needed for MacOSX).

Reimplemented from minsky::RenderNativeWindow.

Definition at line 43 of file equationDisplay.h.

43 {return true;}

◆ height()

double minsky::EquationDisplay::height ( ) const
inline

Definition at line 38 of file equationDisplay.h.

References m_height.

Referenced by redraw().

38 {return m_height;}
Here is the caller graph for this function:

◆ operator=()

EquationDisplay& minsky::EquationDisplay::operator= ( const EquationDisplay x)
inline

Definition at line 40 of file equationDisplay.h.

References minsky::RenderNativeWindow::operator=().

40 {RenderNativeWindow::operator=(x); return *this;}
RenderNativeWindow & operator=(const RenderNativeWindow &x)
Here is the call graph for this function:

◆ redraw()

bool minsky::EquationDisplay::redraw ( int  x0,
int  y0,
int  width,
int  height 
)
overrideprivate

Definition at line 34 of file equationDisplay.cc.

References height(), m, m_height, m_width, m_zoomFactor, offsx, offsy, MathDAG::SystemOfEquations::renderEquations(), and width().

35  {
36  if (surface.get()) {
37  const BusyCursor busy(m);
38  const MathDAG::SystemOfEquations system(m);
39  cairo_rectangle(surface->cairo(),0,0,width,height);
40  cairo_clip(surface->cairo());
41  cairo_move_to(surface->cairo(),offsx,offsy);
42  cairo_scale(surface->cairo(),m_zoomFactor,m_zoomFactor);
43  system.renderEquations(*surface,height);
44  if (m.flags & Minsky::fullEqnDisplay_needed)
45  {
46  ecolab::cairo::Surface surf
47  (cairo_recording_surface_create(CAIRO_CONTENT_COLOR_ALPHA,NULL));
48  system.renderEquations(surf,std::numeric_limits<double>::max());
49  m_width=surf.width();
50  m_height=surf.height();
51  m.flags &= ~Minsky::fullEqnDisplay_needed;
52  }
53  return true;
54  }
55  return surface.get();
56  }
Here is the call graph for this function:

◆ requestRedraw()

void minsky::EquationDisplay::requestRedraw ( )
inline

Definition at line 42 of file equationDisplay.h.

42 {if (surface.get()) surface->requestRedraw();}

◆ width()

double minsky::EquationDisplay::width ( ) const
inline

Definition at line 37 of file equationDisplay.h.

References m_width.

Referenced by redraw().

37 {return m_width;}
Here is the caller graph for this function:

Member Data Documentation

◆ m

Minsky& minsky::EquationDisplay::m
private

Definition at line 31 of file equationDisplay.h.

Referenced by redraw().

◆ m_height

double minsky::EquationDisplay::m_height =0
private

Definition at line 32 of file equationDisplay.h.

Referenced by height(), and redraw().

◆ m_width

double minsky::EquationDisplay::m_width =0
private

Definition at line 32 of file equationDisplay.h.

Referenced by redraw(), and width().

◆ m_zoomFactor

float minsky::EquationDisplay::m_zoomFactor =1

Definition at line 36 of file equationDisplay.h.

Referenced by redraw().

◆ offsx

float minsky::EquationDisplay::offsx =0

Definition at line 36 of file equationDisplay.h.

Referenced by redraw().

◆ offsy

float minsky::EquationDisplay::offsy =0

Definition at line 36 of file equationDisplay.h.

Referenced by redraw().


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