Scroom 0.14-48-ga0fee447
Loading...
Searching...
No Matches
transparentoverlaypresentation.hh
Go to the documentation of this file.
1/*
2 * Scroom - Generic viewer for 2D data
3 * Copyright (C) 2009-2026 Kees-Jan Dijkzeul
4 *
5 * SPDX-License-Identifier: LGPL-2.1
6 */
7
8#pragma once
9
10#include <list>
11#include <map>
12#include <set>
13#include <string>
14
15#include <cairo.h>
16
18#include <scroom/rectangle.hh>
20
21#include "sizedeterminer.hh"
23
25 : public PresentationBase
26 , public Aggregate
27{
28public:
29 using Ptr = std::shared_ptr<TransparentOverlayPresentation>;
30
31private:
33
34private:
35 std::list<PresentationInterface::Ptr> children;
37
40
42
43public:
44 static Ptr create();
45
46 // PresentationInterface ///////////////////////////////////////////////
48 void redraw(ViewInterface::Ptr const& vi, cairo_t* cr, Scroom::Utils::Rectangle<double> presentationArea, int zoom) override;
49 bool getProperty(const std::string& name, std::string& value) override;
50 bool isPropertyDefined(const std::string& name) override;
51 std::string getTitle() override;
52 void viewAdded(ViewInterface::WeakPtr vi) override;
55
56 // Aggregate ///////////////////////////////////////////////////////////
57
58 void addPresentation(PresentationInterface::Ptr const& p) override;
60
61private:
63};
const uint8_t value
Definition blob-tests.cc:114
Definition presentationinterface.hh:144
Definition presentationinterface.hh:113
std::shared_ptr< PresentationInterface > Ptr
Definition presentationinterface.hh:73
std::shared_ptr< const Context > ConstPtr
Definition context.hh:27
Definition rectangle.hh:29
std::shared_ptr< RecursiveContext > Ptr
Definition context.hh:47
std::shared_ptr< SizeDeterminer > Ptr
Definition sizedeterminer.hh:21
Definition transparentoverlaypresentation.hh:27
Scroom::Utils::WeakKeyMap< ViewInterface::WeakPtr, TransparentOverlayViewInfo::Ptr > ViewDataMap
Definition transparentoverlaypresentation.hh:32
Scroom::Utils::RecursiveContext::Ptr context
Definition transparentoverlaypresentation.hh:39
void viewAdded(ViewInterface::WeakPtr vi) override
Definition transparentoverlaypresentation.cc:104
static Ptr create()
Definition transparentoverlaypresentation.cc:38
Scroom::Utils::Context::ConstPtr getContext() const override
Definition transparentoverlaypresentation.cc:168
void addPresentation(PresentationInterface::Ptr const &p) override
Definition transparentoverlaypresentation.cc:46
TransparentOverlayPresentation()
Definition transparentoverlaypresentation.cc:40
void setOptimalColor(PresentationInterface::Ptr const &p)
Definition transparentoverlaypresentation.cc:71
Scroom::Utils::WeakKeySet< ViewInterface::WeakPtr > getViews() override
Definition transparentoverlaypresentation.cc:121
void viewRemoved(ViewInterface::WeakPtr vi) override
Definition transparentoverlaypresentation.cc:111
std::string getTitle() override
Definition transparentoverlaypresentation.cc:150
void redraw(ViewInterface::Ptr const &vi, cairo_t *cr, Scroom::Utils::Rectangle< double > presentationArea, int zoom) override
Definition transparentoverlaypresentation.cc:132
bool isPropertyDefined(const std::string &name) override
Definition transparentoverlaypresentation.cc:148
Scroom::Utils::Rectangle< double > getRect() override
Definition transparentoverlaypresentation.cc:102
SizeDeterminer::Ptr sizeDeterminer
Definition transparentoverlaypresentation.hh:36
ViewDataMap viewData
Definition transparentoverlaypresentation.hh:38
bool getProperty(const std::string &name, std::string &value) override
Definition transparentoverlaypresentation.cc:146
std::shared_ptr< TransparentOverlayPresentation > Ptr
Definition transparentoverlaypresentation.hh:29
std::list< PresentationInterface::Ptr > children
Definition transparentoverlaypresentation.hh:35
std::weak_ptr< ViewInterface > WeakPtr
Definition viewinterface.hh:194
std::shared_ptr< ViewInterface > Ptr
Definition viewinterface.hh:193
PresentationInterfaceStub::Ptr const p
Definition determine-size-test.cc:172
std::set< K, std::owner_less< K > > WeakKeySet
Definition utilities.hh:121
std::map< K, V, std::owner_less< K > > WeakKeyMap
Definition utilities.hh:118
ViewInterface::Ptr const vi
Definition pipette-tests.cc:186
cairo_t * cr
Definition transformpresentation_test.cc:72