Iros
 
Loading...
Searching...
No Matches
painter.h
Go to the documentation of this file.
1#pragma once
2
5#include "di/any/types/this.h"
6#include "di/meta/core.h"
7#include "diusgfx/bitmap.h"
8#include "diusgfx/color.h"
9#include "diusgfx/point.h"
10#include "diusgfx/rect.h"
11
12namespace gfx {
13namespace painter {
14 struct DrawRect : di::Dispatcher<DrawRect, void(di::This&, Rect, Color)> {};
15 struct DrawCircle : di::Dispatcher<DrawCircle, void(di::This&, Point, float, Color)> {};
16
18};
19
21
22constexpr inline auto draw_rect = painter::DrawRect {};
23constexpr inline auto draw_circle = painter::DrawCircle {};
24
26}
detail::DispatcherImpl< Self, Sig, Tags... > Dispatcher
Definition dispatcher.h:47
meta::Type< AnyT< UserInterface, Storage, VTablePolicy > > Any
Definition any.h:294
Definition painter.h:13
di::meta::List< DrawRect, DrawCircle > PainterInterface
Definition painter.h:17
Definition bitmap.h:14
constexpr auto draw_circle
Definition painter.h:23
constexpr auto draw_rect
Definition painter.h:22
bitmap::BitMapImpl< di::ExclusiveByteBuffer > ExclusiveBitMap
Definition bitmap.h:59
auto make_painter(ExclusiveBitMap bitmap) -> Painter
Definition painter.cpp:54
di::Any< painter::PainterInterface > Painter
Definition painter.h:20
Definition core.h:5
Definition painter.h:15
Definition painter.h:14