Go to the documentation of this file.
100 using Ptr = boost::shared_ptr<View>;
137 std::map<GtkToggleButton*, ToolStateListener::Ptr>
tools;
180 double presentationStart,
181 double presentationSize,
212 void addSideWidget(std::string title, GtkWidget* w)
override;
void setAspectRatio(Point aspectRatio_)
Definition: view.cc:71
TweakPresentationPosition(Point aspectRatio_)
Definition: view.cc:74
void unsetFullScreen()
Definition: view.cc:808
void on_window_size_changed(const Scroom::Utils::Point< int > &newSize)
Definition: view.cc:634
static Ptr create(GtkBuilder *scroomXml, const PresentationInterface::Ptr &presentation)
Definition: view.cc:347
void addSideWidget(std::string title, GtkWidget *w) override
Definition: view.cc:822
std::map< GtkToggleButton *, ToolStateListener::Ptr > tools
Definition: view.hh:137
GtkEntry * yTextBox
Definition: view.hh:127
void find_or_create_scroom(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:481
value_type x() const
Definition: rectangle.hh:125
GtkAdjustment * vscrollbaradjustment
Definition: view.hh:113
void setAspectRatio(Point aspectRatio_) override
Definition: view.cc:195
void removeSideWidget(GtkWidget *w) override
Definition: view.cc:824
void setFullScreen()
Definition: view.cc:801
GtkWidget * toolbarArea
Definition: view.hh:129
bool is_locked() const
Definition: view.hh:77
Point parse(std::string_view x, std::string_view y, Scroom::Utils::Point< int > drawingAreaSize, int zoom) const
Definition: view.cc:245
static const std::array< const char *, 36 > zoomfactor
Definition: view.cc:39
void updateXY(const Scroom::Utils::Point< double > &newPos, const LocationChangeCause &source)
Definition: view.cc:987
value_type width() const
Definition: rectangle.hh:129
Freezable(value_type v)
Definition: view.hh:54
int statusBarContextId
Definition: view.hh:131
ProgressInterface::Ptr getProgressInterface() override
Definition: view.cc:820
boost::shared_ptr< PluginManager > Ptr
Definition: pluginmanager.hh:44
void on_buttonPress(GdkEventButton *event)
Definition: view.cc:730
std::vector< SelectionListener::Ptr > selectionListeners
Definition: view.hh:135
void clearPresentation()
Definition: view.cc:396
Definition: assertions.hh:14
static Ptr create(Point aspectRatio_)
Definition: view.cc:210
Ruler::Ptr hruler
Definition: view.hh:118
Scroom::Utils::Point< int > drawingAreaSize
Definition: view.hh:109
Rectangle< double > roundCorners(Rectangle< double > r)
Definition: rectangle.hh:345
Point aspectRatio
Definition: view.cc:106
void on_presentation_destroyed()
Definition: view.cc:615
void redraw(cairo_t *cr)
Definition: view.cc:366
void hide()
Definition: view.cc:392
Freezable< Scroom::Utils::Point< double > > position
Definition: view.hh:133
void addToolButton(GtkToggleButton *, ToolStateListener::Ptr) override
Definition: view.cc:867
Scroom::Utils::Point< double > tweakedPosition() const
Definition: view.cc:1012
boost::shared_ptr< ProgressInterface > Ptr
Definition: progressinterface.hh:20
Scroom::Utils::Rectangle< double > toRectangle(Selection s)
Definition: view.cc:162
GtkStatusbar * statusBar
Definition: view.hh:123
boost::shared_ptr< TweakRulers > tweakRulers
Definition: view.hh:141
GtkToolbar * toolBar
Definition: view.hh:124
GtkDrawingArea * hruler_area
Definition: view.hh:115
void on_new_activate(GtkMenuItem *, gpointer user_data)
Definition: callbacks.cc:88
Definition: viewinterface.hh:38
const std::string PIXEL("PixelSelection")
unsigned toolBarCount
Definition: view.hh:130
Rectangle< T > make_rect(T x, T y, T width, T height)
Definition: rectangle.hh:284
void updateTextbox()
Definition: view.cc:488
#define require(expr)
Definition: assertions.hh:28
Me & operator+=(value_type v)
Definition: view.hh:87
const std::string DEFAULT(GRID)
value_type x
Definition: point.hh:111
GtkWindow * window
Definition: view.hh:106
static void on_newWindow_activate(GtkMenuItem *, gpointer user_data)
Definition: view.cc:280
const value_type * operator*() const
Definition: view.hh:85
Rectangle tweakSelection(Rectangle selection) const override
Definition: view.cc:226
Point< T > make_point(T x, T y)
Definition: point.hh:116
void on_motion_notify(GdkEventMotion *event)
Definition: view.cc:775
void sync_on_ui_thread(T f)
Definition: gtk-helpers.hh:59
GtkListStore * zoomItems
Definition: view.hh:121
boost::weak_ptr< PresentationInterface > WeakPtr
Definition: presentationinterface.hh:75
const value_type * operator->() const
Definition: view.hh:86
Scroom::Utils::Rectangle< double > presentationRect
Definition: view.hh:110
~View() override
Definition: view.cc:360
virtual void setAspectRatio(Point aspectRatio_)=0
void on_presentation_created(const PresentationInterface::Ptr &p)
Definition: view.cc:609
std::map< std::string, boost::shared_ptr< ITweakSelection > > tweakSelection
Definition: view.hh:142
boost::shared_ptr< TweakPresentationPosition > Ptr
Definition: view.cc:61
@ VERTICAL
Definition: ruler.hh:23
void addToToolbar(GtkToolItem *ti) override
Definition: view.cc:826
Corner
Definition: view.cc:109
void updateScrollbars()
Definition: view.cc:470
std::map< PresentationInterface::WeakPtr, GtkWidget * > presentations
Definition: view.hh:149
virtual Rectangle tweakSelection(Rectangle selection) const =0
boost::shared_ptr< SelectionListener > Ptr
Definition: viewinterface.hh:118
@ SCROLLBAR
Definition: view.hh:154
Point< U > to() const
Definition: point.hh:103
GtkScrollbar * vscrollbar
Definition: view.hh:111
const std::string GRID("GridSelection")
GtkEntry * xTextBox
Definition: view.hh:126
void invalidate() override
Definition: view.cc:818
static Scroom::Utils::Point< double > eventToPoint(GdkEventButton *event)
Helpers.
Definition: view.cc:275
std::optional< Selection > selection
Definition: view.hh:134
GtkWidget * drawingArea
Definition: view.hh:108
static GtkWidget * drawingArea
Definition: measure-framerate-callbacks.cc:18
static gboolean on_configure(GtkWidget *, GdkEventConfigure *, gpointer)
Definition: measure-framerate-callbacks.cc:23
void updateZoom()
Definition: view.cc:507
void setAspectRatio(Point aspectRatio_)
Definition: view.cc:260
void unlock()
Definition: view.hh:72
Point aspectRatio
Definition: view.cc:269
Scroom::Utils::Point< double > cachedPoint
Definition: view.hh:145
PresentationInterface::Ptr getCurrentPresentation() override
Definition: view.cc:863
void updateRulers()
Definition: view.cc:549
TweakRulers(Point aspectRatio_)
Definition: view.cc:100
boost::shared_ptr< PresentationInterface > Ptr
Definition: presentationinterface.hh:74
static Ptr create(Orientation orientation, GtkWidget *drawArea)
Definition: ruler.cc:12
void removeFromToolbar(GtkToolItem *ti) override
Definition: view.cc:841
static const int MaxZoom
Definition: view.cc:46
void on_buttonRelease(GdkEventButton *event)
Definition: view.cc:752
std::function< Scroom::Utils::Point< double >Scroom::Utils::Rectangle< double >)> corner_getter(Corner c)
Definition: view.cc:118
Point aspectRatio
Definition: view.cc:204
void updateNewWindowMenu()
Definition: view.cc:907
value_type value
Definition: view.hh:91
T round_to_multiple_of(T value, T factor)
Definition: rounding.hh:32
void on_configure()
Definition: view.cc:617
Selection tweakSelection(Selection selection) const override
Definition: view.cc:181
void registerPostRenderer(PostRenderer::Ptr renderer) override
Definition: view.cc:855
Definition: utilities.hh:30
Point start
Definition: viewinterface.hh:44
void on_scrollwheel(GdkEventScroll *event)
Definition: view.cc:646
GtkBuilder * scroomXml
Definition: view.hh:103
boost::shared_ptr< ProgressBarManager > Ptr
Definition: progressbarmanager.hh:17
void on_newPresentationInterfaces_update(const std::map< NewPresentationInterface::Ptr, std::string > &newPresentationInterfaces)
Definition: view.cc:581
void on_zoombox_changed()
Definition: view.cc:671
boost::shared_ptr< TweakPositionTextBox > Ptr
Definition: view.cc:240
@ TEXTBOX
Definition: view.hh:155
Rectangle< T > make_rect_from_start_end(Point< T > start, Point< T > end)
Definition: rectangle.hh:296
boost::shared_ptr< ITweakSelection > Ptr
Definition: view.cc:167
Scroom::Utils::Point< double > aspectRatio
Definition: view.hh:138
static Ptr create(Point aspectRatio_)
Definition: view.cc:89
void setStatusMessage(const std::string &message) override
Definition: view.cc:857
@ COLUMN_ZOOM
Definition: view.cc:51
static Ptr create(Point aspectRatio_)
Definition: view.cc:224
static PluginManager::Ptr getInstance()
Definition: pluginmanager.cc:330
LocationChangeCause
Definition: view.hh:152
GtkWidget * statusArea
Definition: view.hh:128
static void updateScrollbar(GtkAdjustment *adj, int zoom, double value, double presentationStart, double presentationSize, double windowSize)
Definition: view.cc:449
void lock()
Definition: view.hh:70
PresentationInterface::Ptr presentation
Definition: view.hh:104
View(GtkBuilder *scroomXml)
Definition: view.cc:292
Tweakers.
Definition: view.cc:58
double pixelSizeFromZoom(int zoom)
Definition: cairo-helpers.cc:112
Definition: interface.hh:10
static Ptr create(Point aspectRatio_)
Definition: view.cc:243
Ruler::Ptr vruler
Definition: view.hh:117
Point aspectRatio
Definition: view.cc:80
value_type height() const
Definition: rectangle.hh:131
GtkAdjustment * hscrollbaradjustment
Definition: view.hh:114
Point tweakPosition(Point currentPosition, Scroom::Utils::Point< int >, int zoom) const
Definition: view.cc:66
void on_scrollbar_value_changed(GtkAdjustment *adjustment)
Definition: view.cc:714
TweakSelection(Point aspectRatio_)
Definition: view.cc:198
Me & operator-=(value_type v)
Definition: view.hh:88
Corner find_opposed_corner(Corner c)
Definition: view.cc:146
TweakPositionTextBox(Point aspectRatio_)
Definition: view.cc:263
void registerSelectionListener(SelectionListener::Ptr listener) override
Definition: view.cc:853
virtual Selection tweakSelection(Selection selection) const =0
GtkProgressBar * progressBar
Definition: view.hh:122
@ N_COLUMNS
Definition: view.cc:52
@ OTHER
Definition: view.hh:156
boost::shared_ptr< View > Ptr
Definition: view.hh:100
GtkToolItem * toolBarSeparator
Definition: view.hh:125
View operator=(const View &)=delete
value_type y() const
Definition: rectangle.hh:127
unsigned locked
Definition: view.hh:92
Scroom::Utils::Point< double > windowPointToPresentationPoint(Scroom::Utils::Point< double > wp) const
Definition: view.cc:897
boost::shared_ptr< Ruler > Ptr
Definition: ruler.hh:18
static PluginManager::Ptr pluginManager
Definition: pluginmanager.cc:29
T center(Segment< T > s)
Definition: linearsegment.hh:246
boost::shared_ptr< TweakPositionTextBox > tweakPositionTextBox
Definition: view.hh:140
GtkWidget * menubar
Definition: view.hh:107
Corner find_closest_corner(Scroom::Utils::Point< double > p, Scroom::Utils::Rectangle< double > r)
Definition: view.cc:134
static void tool_button_toggled(GtkToggleButton *button, gpointer data)
Definition: view.cc:865
@ HORIZONTAL
Definition: ruler.hh:22
ProgressBarManager::Ptr progressBarManager
Definition: view.hh:147
void on_textbox_value_changed(GtkEditable *editable)
Definition: view.cc:700
Segment< double > roundOutward(Segment< double > s)
Definition: linearsegment.hh:240
bool hasPresentation()
Definition: view.cc:394
Me & operator=(value_type v)
Definition: view.hh:80
int zoom
Definition: view.hh:132
bool set(value_type v)
Definition: view.hh:61
void setPresentation(PresentationInterface::Ptr presentation)
Definition: view.cc:401
boost::shared_ptr< TweakPresentationPosition > tweakPresentationPosition
Definition: view.hh:139
GtkDrawingArea * vruler_area
Definition: view.hh:116
Definition: viewinterface.hh:190
GtkScrollbar * hscrollbar
Definition: view.hh:112
void create(NewPresentationInterface *interface)
Definition: loader.cc:175
#define defect()
Definition: assertions.hh:40
value_type y
Definition: point.hh:112
#define G_VALUE_INIT
Definition: view.cc:28
GtkComboBox * zoomBox
Definition: view.hh:120
std::vector< PostRenderer::Ptr > postRenderers
Definition: view.hh:136
const value_type & get() const
Definition: view.hh:59
Rectangle tweakSelection(Rectangle selection) const override
Definition: view.cc:212
Point end
Definition: viewinterface.hh:45
boost::shared_ptr< TweakRulers > Ptr
Definition: view.cc:86
std::pair< std::string, std::string > display(Point position, Scroom::Utils::Point< int > drawingAreaSize, int zoom) const
Definition: view.cc:253
void toolButtonToggled(GtkToggleButton *button)
Definition: view.cc:560
@ COLUMN_TEXT
Definition: view.cc:50
SidebarManager sidebarManager
Definition: view.hh:105
Scroom::Utils::Rectangle< double > tweakRulers(Point currentPosition, Scroom::Utils::Point< int > drawingAreaSize, int zoom) const
Definition: view.cc:92
void setAspectRatio(Point aspectRatio_)
Definition: view.cc:97
static Ptr create(Point aspectRatio_)
Definition: view.cc:64
static Ptr create(GtkProgressBar *progressBar=nullptr)
Definition: progressbarmanager.cc:115
Scroom::Utils::Point< double > presentationPointToWindowPoint(Scroom::Utils::Point< double > presentationpoint) const
Definition: view.cc:902
boost::shared_ptr< PostRenderer > Ptr
Definition: viewinterface.hh:83
gint modifiermove
Definition: view.hh:144
void on_newPresentationInterfaces_update(const std::map< NewPresentationInterface::Ptr, std::string > &newPresentationInterfaces)
Definition: callbacks.cc:615