#include <transparentoverlayviewinfo.hh>
◆ ChildMap
◆ Ptr
◆ TransparentOverlayViewInfo()
◆ addChild()
◆ addChildren()
◆ close()
| void TransparentOverlayViewInfo::close |
( |
| ) |
|
168 for(ChildMap::value_type
const& v:
childViews)
171 v.first->close(v.second);
◆ create()
◆ createToggleToolButton()
112 const int n =
buttons.size() + 1;
116 GtkToolItem* button = gtk_tool_item_new();
117 GtkWidget* toggleButton = gtk_toggle_button_new_with_mnemonic(s.str().c_str());
119 gtk_widget_set_visible(toggleButton,
true);
120 gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(toggleButton),
true);
122 gtk_container_add(GTK_CONTAINER(button), toggleButton);
123 g_signal_connect(
static_cast<gpointer
>(toggleButton),
"toggled", G_CALLBACK(
on_toggled),
this);
125 buttons.push_back(toggleButton);
Referenced by addChild().
◆ getChild()
156 for(ChildMap::value_type
const& v:
childViews)
◆ getProgressInterface()
◆ invalidate()
| void TransparentOverlayViewInfo::invalidate |
( |
| ) |
|
|
inline |
◆ redraw()
| void TransparentOverlayViewInfo::redraw |
( |
cairo_t * |
cr, |
|
|
Scroom::Utils::Rectangle< double > const & |
presentationArea, |
|
|
int |
zoom |
|
) |
| |
183 cairo_rectangle_int_t
const presentationArea = pa.
toGdkRectangle();
185 cairo_rectangle_int_t viewArea;
191 const int pixelSize = 1 << zoom;
192 viewArea.width = presentationArea.width * pixelSize;
193 viewArea.height = presentationArea.height * pixelSize;
197 const int pixelSize = 1 << -zoom;
198 viewArea.width = presentationArea.width / pixelSize;
199 viewArea.height = presentationArea.height / pixelSize;
203 cairo_surface_t* surface = s->get();
204 cairo_t* cr_sub = cairo_create(surface);
208 for(
size_t i = 0; i <
children.size(); i++)
210 if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(
buttons[i])))
215 bool hasTransparentBackground =
false;
220 c->disableTransparentBackground();
224 c->setTransparentBackground();
225 hasTransparentBackground =
true;
230 cairo_set_operator(cr_sub, CAIRO_OPERATOR_CLEAR);
232 cairo_restore(cr_sub);
236 cairo_restore(cr_sub);
238 cairo_set_source_surface(cr, surface, 0, 0);
240 if(hasTransparentBackground)
246 cairo_paint_with_alpha(cr, 1.0 / (count + 1));
249 if(!hasTransparentBackground)
256 cairo_destroy(cr_sub);
◆ toggled()
| void TransparentOverlayViewInfo::toggled |
( |
GtkToggleButton * |
button | ) |
|
◆ buttons
| std::vector<GtkWidget*> TransparentOverlayViewInfo::buttons |
|
private |
◆ children
◆ childViews
| ChildMap TransparentOverlayViewInfo::childViews |
|
private |
◆ parentView
◆ progressInterfaceMultiplexer
◆ sizeDeterminer
The documentation for this class was generated from the following files:
static Ptr create(boost::shared_ptr< TransparentOverlayViewInfo > const &parent)
Definition: transparentoverlayviewinfo.cc:70
boost::shared_ptr< uint8_t > Ptr
Definition: blockallocator.hh:23
std::vector< GtkWidget * > buttons
Definition: transparentoverlayviewinfo.hh:72
void createToggleToolButton(PresentationInterface::Ptr const &p)
Definition: transparentoverlayviewinfo.cc:110
boost::shared_ptr< TransparentOverlayViewInfo > Ptr
Definition: transparentoverlayviewinfo.hh:63
void addChild(const PresentationInterface::Ptr &child)
Definition: transparentoverlayviewinfo.cc:144
void setToggleButtonColor(GtkWidget *w, PresentationInterface::Ptr const &p)
Definition: transparentoverlayviewinfo.cc:25
boost::shared_ptr< PresentationInterface > Ptr
Definition: presentationinterface.hh:74
Scroom::Utils::ProgressInterfaceMultiplexer::Ptr progressInterfaceMultiplexer
Definition: transparentoverlayviewinfo.hh:71
void invalidate()
Definition: transparentoverlayviewinfo.hh:90
SizeDeterminer::Ptr sizeDeterminer
Definition: transparentoverlayviewinfo.hh:74
static void on_toggled(GtkToggleButton *button, gpointer data)
Definition: transparentoverlayviewinfo.cc:105
TransparentOverlayViewInfo(const ViewInterface::WeakPtr &vi, SizeDeterminer::Ptr sizeDeterminer)
Definition: transparentoverlayviewinfo.cc:98
boost::shared_ptr< Colormappable > Ptr
Definition: colormappable.hh:116
cairo_rectangle_int_t toGdkRectangle() const
Definition: rectangle.hh:62
ViewInterface::Ptr parentView
Definition: transparentoverlayviewinfo.hh:69
Definition: bitmap-helpers.hh:22
boost::shared_ptr< ChildView > Ptr
Definition: transparentoverlayviewinfo.hh:34
std::vector< PresentationInterface::Ptr > children
Definition: transparentoverlayviewinfo.hh:73
const std::string TRANSPARENT_BACKGROUND_PROPERTY_NAME
Definition: colormappable.hh:23
void create(NewPresentationInterface *interface)
Definition: loader.cc:175
ChildMap childViews
Definition: transparentoverlayviewinfo.hh:70
static Ptr create(ProgressInterface::Ptr parent)
Definition: progressinterfacehelpers.cc:252