1 #include "widget/ImageTileView.hpp"
2 #include "widget/ImageTiler.hpp"
5 #include <mof/streams.hpp>
8 using std::make_shared;
9 using mof::FrameNumber;
11 using namespace mof::widget;
14 struct ImageTileView::Impl
18 Impl( const shared_ptr<Texture>& pTexture )
25 ImageTileView::ImageTileView( const shared_ptr<Texture>& pTexture )
26 : m_pImpl( new Impl (pTexture ) )
31 ImageTileView::~ImageTileView()
36 FrameNumber ImageTileView::show( bool )
42 FrameNumber ImageTileView::hide( bool )
48 FrameNumber ImageTileView::focus( bool )
54 FrameNumber ImageTileView::blur( bool )
60 FrameNumber ImageTileView::click( bool )
65 //{{{ getPreferredSize
66 mof::Vector2D ImageTileView::getPreferredSize() const
68 return mof::Vector2D(0, 0);
72 void ImageTileView::update( )
74 m_positionStream.update( );
75 m_sizeStream.update( );
76 m_colorStream.update();
78 mof::Rectangle<float> region;
79 mof::Vector2D position = m_positionStream.value();
80 mof::Vector2D size = m_sizeStream.value();
81 region.beginX = position.x;
82 region.beginY = position.y;
83 region.endX = region.beginX + size.x;
84 region.endY = region.beginY + size.y;
85 m_pImpl->tiler.setRegion( region );
86 m_pImpl->tiler.setColor(m_colorStream.value().toColorCode());
91 void ImageTileView::draw( ) const
93 m_pImpl->tiler.draw( );
97 void ImageTileView::setVisible(bool visible)
99 m_pImpl->tiler.setVisible(visible);