Scroom  0.14
TweakPositionTextBox Class Reference
Collaboration diagram for TweakPositionTextBox:
Collaboration graph

Public Types

using Ptr = boost::shared_ptr< TweakPositionTextBox >
 
using Point = Scroom::Utils::Point< double >
 

Public Member Functions

Point parse (std::string_view x, std::string_view y, Scroom::Utils::Point< int > drawingAreaSize, int zoom) const
 
std::pair< std::string, std::string > display (Point position, Scroom::Utils::Point< int > drawingAreaSize, int zoom) const
 
void setAspectRatio (Point aspectRatio_)
 

Static Public Member Functions

static Ptr create (Point aspectRatio_)
 

Private Member Functions

 TweakPositionTextBox (Point aspectRatio_)
 

Private Attributes

Point aspectRatio
 

Member Typedef Documentation

◆ Point

◆ Ptr

using TweakPositionTextBox::Ptr = boost::shared_ptr<TweakPositionTextBox>

Constructor & Destructor Documentation

◆ TweakPositionTextBox()

TweakPositionTextBox::TweakPositionTextBox ( Point  aspectRatio_)
inlineexplicitprivate
264  : aspectRatio(aspectRatio_)
265  {
266  }

Referenced by create().

Here is the caller graph for this function:

Member Function Documentation

◆ create()

static Ptr TweakPositionTextBox::create ( Point  aspectRatio_)
inlinestatic
243 { return Ptr(new TweakPositionTextBox(aspectRatio_)); }
Here is the call graph for this function:

◆ display()

std::pair<std::string, std::string> TweakPositionTextBox::display ( Point  position,
Scroom::Utils::Point< int >  drawingAreaSize,
int  zoom 
) const
inline
254  {
255  const Point center = (position + drawingAreaSize.to<double>() / pixelSizeFromZoom(zoom) / 2) / aspectRatio;
256 
257  return std::make_pair(fmt::format("{:.0f}", center.x), fmt::format("{:.0f}", center.y));
258  }
Here is the call graph for this function:

◆ parse()

Point TweakPositionTextBox::parse ( std::string_view  x,
std::string_view  y,
Scroom::Utils::Point< int >  drawingAreaSize,
int  zoom 
) const
inline
246  {
247  const Point entered_position(boost::lexical_cast<double>(x), boost::lexical_cast<double>(y));
248 
249  return entered_position * aspectRatio - drawingAreaSize.to<double>() / pixelSizeFromZoom(zoom) / 2;
250  }
Here is the call graph for this function:

◆ setAspectRatio()

void TweakPositionTextBox::setAspectRatio ( Point  aspectRatio_)
inline
260 { aspectRatio = aspectRatio_; }

Member Data Documentation

◆ aspectRatio

Point TweakPositionTextBox::aspectRatio
private

Referenced by display(), parse(), and setAspectRatio().


The documentation for this class was generated from the following file:
Scroom::Utils::Point::to
Point< U > to() const
Definition: point.hh:103
TweakPositionTextBox::aspectRatio
Point aspectRatio
Definition: view.cc:269
TweakPositionTextBox::Ptr
boost::shared_ptr< TweakPositionTextBox > Ptr
Definition: view.cc:240
pixelSizeFromZoom
double pixelSizeFromZoom(int zoom)
Definition: cairo-helpers.cc:112
TweakPositionTextBox::TweakPositionTextBox
TweakPositionTextBox(Point aspectRatio_)
Definition: view.cc:263
Scroom::Utils::center
T center(Segment< T > s)
Definition: linearsegment.hh:246
TweakPositionTextBox::Point
Scroom::Utils::Point< double > Point
Definition: view.cc:241