Scroom 0.14-49-gb7ae7a6d
Loading...
Searching...
No Matches
Scroom::Utils::TweakPositionTextBox Class Reference

#include <tweak-view.hh>

Inheritance diagram for Scroom::Utils::TweakPositionTextBox:
Inheritance graph
Collaboration diagram for Scroom::Utils::TweakPositionTextBox:
Collaboration graph

Public Types

using Ptr = std::shared_ptr< TweakPositionTextBox >
 
- Public Types inherited from Scroom::Utils::ITweakPositionTextBox
using Ptr = std::shared_ptr< ITweakPositionTextBox >
 

Public Member Functions

Point< double > parse (std::string_view x, std::string_view y, const Point< int > &drawingAreaSize, int zoom) const override
 
std::pair< std::string, std::string > display (const Point< double > &position, const Point< int > &drawingAreaSize, int zoom) const override
 
- Public Member Functions inherited from Interface
 Interface ()=default
 
 Interface (const Interface &)=delete
 
Interfaceoperator= (const Interface &)=delete
 
 Interface (Interface &&)=delete
 
Interfaceoperator= (Interface &&)=delete
 
virtual ~Interface ()=default
 

Static Public Member Functions

static ITweakPositionTextBox::Ptr create (const Point< double > &aspectRatio_={1.0, 1.0})
 

Private Member Functions

 TweakPositionTextBox (const Point< double > &aspectRatio_)
 

Private Attributes

Point< double > aspectRatio
 

Member Typedef Documentation

◆ Ptr

Constructor & Destructor Documentation

◆ TweakPositionTextBox()

Scroom::Utils::TweakPositionTextBox::TweakPositionTextBox ( const Point< double > &  aspectRatio_)
explicitprivate
178 : aspectRatio(aspectRatio_)
179 {
180 }
Point< double > aspectRatio
Definition tweak-view.hh:159

Member Function Documentation

◆ create()

ITweakPositionTextBox::Ptr Scroom::Utils::TweakPositionTextBox::create ( const Point< double > &  aspectRatio_ = {1.0, 1.0})
static
183 {
184 return Ptr(new TweakPositionTextBox(aspectRatio_));
185 }
TweakPositionTextBox(const Point< double > &aspectRatio_)
Definition tweak-view.cc:177
std::shared_ptr< TweakPositionTextBox > Ptr
Definition tweak-view.hh:145

Referenced by Scroom::Utils::getDefaultTweakPositionTextBox(), TiledBitmap::TiledBitmap(), and TransformPresentation::TransformPresentation().

Here is the caller graph for this function:

◆ display()

std::pair< std::string, std::string > Scroom::Utils::TweakPositionTextBox::display ( const Point< double > &  position,
const Point< int > &  drawingAreaSize,
int  zoom 
) const
overridevirtual

Implements Scroom::Utils::ITweakPositionTextBox.

197 {
198 const Point<double> c = (position + drawingAreaSize.to<double>() / pixelSizeFromZoom(zoom) / 2) / aspectRatio;
199
200 return std::make_pair(fmt::format("{:.0f}", c.x), fmt::format("{:.0f}", c.y));
201 }
double pixelSizeFromZoom(int zoom)
Definition cairo-helpers.cc:123
Point< U > to() const
Definition point.hh:103
Semaphore c(0)
Here is the call graph for this function:

◆ parse()

Point< double > Scroom::Utils::TweakPositionTextBox::parse ( std::string_view  x,
std::string_view  y,
const Point< int > &  drawingAreaSize,
int  zoom 
) const
overridevirtual

Implements Scroom::Utils::ITweakPositionTextBox.

189 {
190 const Point<double> entered_position(boost::lexical_cast<double>(x), boost::lexical_cast<double>(y));
191
192 return entered_position * aspectRatio - drawingAreaSize.to<double>() / pixelSizeFromZoom(zoom) / 2;
193 }
Here is the call graph for this function:

Member Data Documentation

◆ aspectRatio

Point<double> Scroom::Utils::TweakPositionTextBox::aspectRatio
private

Referenced by display(), and parse().


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