Go to the documentation of this file.
21 using FileNameMap = std::map<std::string, std::list<std::string>>;
54 gboolean
on_idle(gpointer user_data);
double getMajorTickLength(double percentage) override
Definition: rulerstrategies.cc:22
Ruler(const Ruler &)=delete
static constexpr double LINE_COORD_OFFSET
Definition: rulerstrategies.hh:95
void unsetFullScreen()
Definition: view.cc:808
void on_presentation_possibly_destroyed()
Definition: callbacks.cc:670
int getHeight() const
Definition: rulerstrategies.cc:14
void drawSingleTick(cairo_t *cr, double linePosition, double lineLength, bool drawLabel, const std::string &label)
Definition: ruler.cc:168
void create_scroom(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:537
static Ptr create(GtkBuilder *scroomXml, const PresentationInterface::Ptr &presentation)
Definition: view.cc:347
void on_copy_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:208
void on_save_as_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:194
static Ptr create()
Definition: tiff.cc:25
void find_or_create_scroom(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:481
void load(GtkFileFilterInfo const &info)
Definition: loader.cc:238
void on_delete_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:212
void setFullScreen()
Definition: view.cc:801
void on_zoombox_changed(GtkComboBox *widget, gpointer user_data)
Definition: callbacks.cc:362
void on_close_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:230
std::map< std::string, std::list< std::string > > FileNameMap
Definition: callbacks.hh:21
boost::shared_ptr< R > shared_from_this()
Definition: utilities.hh:109
boost::shared_ptr< PresentationObserver > Ptr
Definition: scroominterface.hh:83
static int intervalPixelSpacing(double interval, double lower, double upper, double allocatedSize)
Definition: ruler.cc:294
void on_save_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:192
void drawTickText(cairo_t *cr, const std::string &label, double linePosition, double labelOffset, double labelAlign, double lineLength) override
Definition: rulerstrategies.cc:119
gboolean on_drawingarea_configure_event(GtkWidget *, GdkEventConfigure *, gpointer user_data)
Definition: callbacks.cc:265
boost::shared_ptr< PluginManager > Ptr
Definition: pluginmanager.hh:44
static gboolean drawCallback(GtkWidget *widget, cairo_t *cr, gpointer data)
Definition: ruler.cc:106
void drawOutline(cairo_t *cr, double lineWidth) override
Definition: rulerstrategies.cc:52
static constexpr double LABEL_ALIGN
Definition: ruler.hh:86
void drawTicks(cairo_t *cr, double lower, double upper, double lineLength)
Definition: ruler.cc:144
void on_buttonPress(GdkEventButton *event)
Definition: view.cc:730
PresentationInterface::Ptr loadPresentation(const std::string &filename)
Definition: loader.cc:189
gboolean on_button_press_event(GtkWidget *, GdkEventButton *event, gpointer user_data)
Definition: callbacks.cc:380
void on_about_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:237
static void sizeAllocateCallback(GtkWidget *widget, GdkRectangle *allocation, gpointer data)
Definition: ruler.cc:76
void on_scroom_hide(GtkWidget *, gpointer user_data)
Definition: callbacks.cc:77
void clearPresentation()
Definition: view.cc:396
void on_scroom_terminating()
Definition: callbacks.cc:479
static Ptr create()
Definition: transparentoverlay.cc:17
void on_copy_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:208
gboolean on_drawingarea_configure_event(GtkWidget *widget, GdkEventConfigure *event, gpointer user_data)
Definition: callbacks.cc:265
gboolean on_scroll_event(GtkWidget *, GdkEventScroll *event, gpointer user_data)
Definition: callbacks.cc:401
Orientation
Definition: ruler.hh:20
int width
Definition: ruler.hh:64
void ShowModalDialog(const std::string &message)
Definition: callbacks.cc:61
void updateMajorTickInterval()
Definition: ruler.cc:86
static constexpr int MIN_SPACE_MAJORTICKS
Definition: ruler.hh:184
void drawTickLine(cairo_t *cr, double linePosition, double lineWidth, double lineLength) override
Definition: rulerstrategies.cc:76
bool in_devmode()
Definition: callbacks.cc:416
void redraw(cairo_t *cr)
Definition: view.cc:366
void hide()
Definition: view.cc:392
void onDragDataReceived(GtkWidget *, GdkDragContext *, int, int, GtkSelectionData *seldata, guint, guint, gpointer)
Definition: callbacks.cc:498
const std::string REGULAR_FILES
Definition: callbacks.cc:49
void on_view_created(const View::Ptr &v)
Definition: callbacks.cc:643
void on_paste_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:210
double getMajorTickLength(double percentage) override
Definition: rulerstrategies.cc:20
void on_open_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:112
void on_new_presentationobserver(const PresentationObserver::Ptr &po)
Definition: callbacks.cc:714
double getDrawAreaSize() override
Definition: rulerstrategies.cc:26
gboolean on_drawingarea_expose_event(GtkWidget *widget, GdkEventExpose *, gpointer user_data)
Definition: callbacks.cc:246
void on_presentation_added_to_view(const View::Ptr &v)
Definition: callbacks.cc:658
static constexpr double LINE_MULTIPLIER
Definition: ruler.hh:89
void on_new_activate(GtkMenuItem *, gpointer user_data)
Definition: callbacks.cc:88
void on_view_created(const View::Ptr &v)
Definition: callbacks.cc:643
static RulerDrawStrategy::Ptr create()
Definition: rulerstrategies.cc:18
#define require(expr)
Definition: assertions.hh:28
static int firstTick(double lower, int interval)
Definition: ruler.cc:303
std::map< View::Ptr, Scroom::Bookkeeping::Token > Views
Definition: callbacks.cc:55
void usage(const std::string &me, const po::options_description &desc, const std::string &message=std::string())
Definition: main.cc:33
void on_newPresentationInterfaces_update(const std::map< NewPresentationInterface::Ptr, std::string > &newPresentationInterfaces)
Definition: callbacks.cc:615
gboolean on_drawingarea_expose_event(GtkWidget *widget, GdkEventExpose *event, gpointer user_data)
Definition: callbacks.cc:246
void on_open_activate(GtkMenuItem *, gpointer user_data)
Definition: callbacks.cc:112
GdkRGBA lineColor
Definition: ruler.hh:91
static constexpr double MAJOR_TICK_LENGTH
Definition: ruler.hh:96
void on_motion_notify(GdkEventMotion *event)
Definition: view.cc:775
bool in_devmode()
Definition: callbacks.cc:416
gboolean on_idle(gpointer user_data)
Definition: callbacks.cc:272
Definition: scroominterface.hh:35
#define ensure(expr)
Definition: assertions.hh:32
void on_scroom_hide(GtkWidget *widget, gpointer user_data)
Definition: callbacks.cc:77
void on_scroom_bootstrap(const FileNameMap &newFilenames)
Definition: callbacks.cc:418
int majorInterval
Definition: ruler.hh:68
static std::string xmlFileName
Definition: callbacks.cc:51
void draw(GtkWidget *widget, cairo_t *cr)
Definition: ruler.cc:114
void on_done_loading_plugins()
Definition: callbacks.cc:282
void on_scroom_bootstrap(const FileNameMap &newFilenames)
Definition: callbacks.cc:418
void on_presentation_created(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:623
@ VERTICAL
Definition: ruler.hh:23
void on_about_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:237
static constexpr double TEXT_ANCHOR
Definition: rulerstrategies.hh:96
void on_new_viewobserver(const ViewObserver::Ptr &viewObserver)
Definition: callbacks.cc:726
static Ptr create()
Definition: measure.cc:27
void drawTickText(cairo_t *cr, const std::string &label, double linePosition, double labelOffset, double labelAlign, double lineLength) override
Definition: rulerstrategies.cc:102
void on_scrollbar_value_changed(GtkAdjustment *adjustment, gpointer user_data)
Definition: callbacks.cc:374
static Ptr create()
Definition: colormapplugin.cc:23
Point< T > ceil(Point< T > p)
Definition: point.hh:228
void updateAllocatedSize(int newWidth, int newHeight)
Definition: ruler.cc:67
static constexpr double LABEL_OFFSET
Definition: ruler.hh:83
static std::list< PresentationInterface::WeakPtr > presentations
Definition: callbacks.cc:57
void on_save_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:192
boost::shared_ptr< RulerDrawStrategy > Ptr
Definition: rulerstrategies.hh:17
static GtkWidget * drawingArea
Definition: measure-framerate-callbacks.cc:18
void on_paste_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:210
void on_view_destroyed(View *v)
Definition: callbacks.cc:703
static std::string currentFolder
Definition: callbacks.cc:59
double getDrawAreaSize() override
Definition: rulerstrategies.cc:24
void on_textbox_value_changed(GtkEditable *editable, gpointer user_data)
Definition: callbacks.cc:368
static const std::string SCROOM_DEV_MODE
Definition: callbacks.cc:48
void on_view_destroyed(View *v)
Definition: callbacks.cc:703
void on_fullscreen_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:214
void startPluginManager(bool devMode)
Definition: pluginmanager.cc:33
int height
Definition: rulerstrategies.hh:102
boost::shared_ptr< PresentationInterface > Ptr
Definition: presentationinterface.hh:74
static Ptr create(Orientation orientation, GtkWidget *drawArea)
Definition: ruler.cc:12
void on_buttonRelease(GdkEventButton *event)
Definition: view.cc:752
constexpr static std::array< int, 2 > SUBTICK_SEGMENTS
Definition: ruler.hh:57
const std::string REGULAR_FILES
Definition: callbacks.cc:49
static double scaleToRange(double x, double src_lower, double src_upper, double dest_lower, double dest_upper)
Definition: ruler.cc:235
static constexpr double LINE_WIDTH
Definition: ruler.hh:93
int height
Definition: ruler.hh:65
Definition: rulerstrategies.hh:108
std::string to_string(const BitmapMetaData &bmd)
Definition: layerspecforbitmap.cc:30
static Ptr create()
Definition: pipette.cc:24
void on_configure()
Definition: view.cc:617
void drawSubTicks(cairo_t *cr, double lower, double upper, int depth, double lineLength)
Definition: ruler.cc:193
PluginInformationInterface::Ptr getPluginInformation()
Definition: main.cc:12
double upperLimit
Definition: ruler.hh:61
void on_scrollwheel(GdkEventScroll *event)
Definition: view.cc:646
ProgressBarPulser::Ptr instance()
Definition: progressbarmanager.cc:43
void on_zoombox_changed()
Definition: view.cc:671
boost::shared_ptr< ViewObserver > Ptr
Definition: scroominterface.hh:93
Definition: workinterface.hh:12
RulerDrawStrategy::Ptr drawStrategy
Definition: ruler.hh:75
void on_new_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:88
static FileNameMap filenames
Definition: callbacks.cc:58
void on_quit_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:196
static Views views
Definition: callbacks.cc:56
void on_zoombox_changed(GtkComboBox *, gpointer user_data)
Definition: callbacks.cc:362
void on_save_as_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:194
static Ptr create()
Definition: example.cc:17
static GtkWidget * aboutDialog
Definition: callbacks.cc:53
~Ruler()
Definition: ruler.cc:48
void on_done_loading_plugins()
Definition: callbacks.cc:282
gboolean on_idle(gpointer user_data)
Definition: callbacks.cc:272
static PluginManager::Ptr getInstance()
Definition: pluginmanager.cc:330
void drawTickLine(cairo_t *cr, double linePosition, double lineWidth, double lineLength) override
Definition: rulerstrategies.cc:89
gboolean combinedFileFilter(const GtkFileFilterInfo *filter_info, gpointer data)
Definition: callbacks.cc:94
constexpr static std::array< int, 4 > VALID_INTERVALS
Definition: ruler.hh:180
gboolean on_button_release_event(GtkWidget *, GdkEventButton *event, gpointer user_data)
Definition: callbacks.cc:387
void on_scrollbar_value_changed(GtkAdjustment *adjustment)
Definition: view.cc:714
gboolean on_motion_notify_event(GtkWidget *, GdkEventMotion *event, gpointer user_data)
Definition: callbacks.cc:394
void on_presentation_added_to_view(const View::Ptr &v)
Definition: callbacks.cc:658
void setAllocatedSize(int newWidth, int height)
Definition: rulerstrategies.cc:6
void on_scrollbar_value_changed(GtkAdjustment *adjustment, gpointer user_data)
Definition: callbacks.cc:374
void create_scroom(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:537
double lowerLimit
Definition: ruler.hh:60
GtkWidget * drawingArea
Definition: ruler.hh:48
void on_textbox_value_changed(GtkEditable *editable, gpointer user_data)
Definition: callbacks.cc:368
static constexpr int MIN_SPACE_SUBTICKS
Definition: ruler.hh:78
void find_or_create_scroom(const PresentationInterface::Ptr &presentation)
Definition: callbacks.cc:481
void testCorrectIntervalForMinWidth(double lowerLimit, double upperLimit, int expectedInterval)
Definition: ruler-tests.cc:58
void on_presentation_possibly_destroyed()
Definition: callbacks.cc:670
static GtkBuilder * aboutDialogXml
Definition: callbacks.cc:52
int main(int argc, char *argv[])
Definition: main.cc:47
void on_scroom_terminating()
Definition: callbacks.cc:479
void on_new_viewobserver(const ViewObserver::Ptr &viewObserver)
Definition: callbacks.cc:726
boost::shared_ptr< View > Ptr
Definition: view.hh:100
boost::shared_ptr< Ruler > Ptr
Definition: ruler.hh:18
void on_delete_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:212
void drawOutline(cairo_t *cr, double lineWidth) override
Definition: rulerstrategies.cc:28
static constexpr double FONT_SIZE
Definition: ruler.hh:80
int majorTickSpacing
Definition: ruler.hh:71
static int calculateInterval(double lower, double upper, double allocatedSize)
Definition: ruler.cc:244
Definition: bookkeeping.hh:37
int width
Definition: rulerstrategies.hh:100
void on_close_activate(GtkMenuItem *, gpointer user_data)
Definition: callbacks.cc:230
const unsigned int mask
Definition: sampleiterator-tests.cc:43
@ HORIZONTAL
Definition: ruler.hh:22
Definition: rulerstrategies.hh:133
void on_textbox_value_changed(GtkEditable *editable)
Definition: view.cc:700
void on_cut_activate(GtkMenuItem *menuitem, gpointer user_data)
Definition: callbacks.cc:206
void create(NewPresentationInterface *interface)
Definition: loader.cc:175
boost::shared_ptr< Aggregate > Ptr
Definition: presentationinterface.hh:147
void on_quit_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:196
static RulerDrawStrategy::Ptr create()
Definition: rulerstrategies.cc:16
void setRange(double lower, double upper)
Definition: ruler.cc:56
BOOST_AUTO_TEST_CASE(Ruler_creation_horizontal_signal_handlers)
Definition: ruler-tests.cc:12
void on_presentation_created(const PresentationInterface::Ptr &p)
Definition: callbacks.cc:623
void on_cut_activate(GtkMenuItem *, gpointer)
Definition: callbacks.cc:206
void on_new_presentationobserver(const PresentationObserver::Ptr &po)
Definition: callbacks.cc:714
int getWidth() const
Definition: rulerstrategies.cc:12
void on_fullscreen_activate(GtkMenuItem *item, gpointer user_data)
Definition: callbacks.cc:214
void on_newPresentationInterfaces_update(const std::map< NewPresentationInterface::Ptr, std::string > &newPresentationInterfaces)
Definition: callbacks.cc:615