mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-17 14:16:10 -06:00
62 lines
No EOL
3 KiB
C++
62 lines
No EOL
3 KiB
C++
topic "DataDrawer";
|
|
[2 $$0,0#00000000000000000000000000000000:Default]
|
|
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
|
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
|
[0 $$3,0#96390100711032703541132217272105:end]
|
|
[H6;0 $$4,0#05600065144404261032431302351956:begin]
|
|
[i448;a25;kKO9;2 $$5,0#37138531426314131252341829483370:item]
|
|
[l288;a4;*@5;1 $$6,6#70004532496200323422659154056402:requirement]
|
|
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
|
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
|
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
|
[{_}%EN-US
|
|
[ {{10000@(113.42.0) [s0;%- [*@7;4 DataDrawer]]}}&]
|
|
[s3;%- &]
|
|
[s1;:DataDrawer`:`:class:%- [@(0.0.255)3 class][3 _][*3 DataDrawer]&]
|
|
[s9; This abstract class provides the ability to render the binary
|
|
data of specific type into Draw output. Each type of binary data
|
|
has assigned id, which is used in the call to Draw`::DrawData
|
|
method, to this id there is corresponding registered (using DataDrawer`::Register)
|
|
class of DataDrawer. Draw`::DrawData creates and instance of
|
|
this class and uses it to render the binary data as one or more
|
|
ImageBuffer pixel arrays.&]
|
|
[s9; Draw package predefines DataDrawer registered with id `"image`_data`".
|
|
This represents Image binary encoded with any encoding supported
|
|
by actually included image format plugins like plugin/bmp or
|
|
plugin/jpg.&]
|
|
[s3; &]
|
|
[s0; &]
|
|
[ {{10000F(128)G(128)@1 [s0; [* Public Method List]]}}&]
|
|
[s3;%- &]
|
|
[s5;:DataDrawer`:`:Open`(const String`&`,int`,int`):%- [*@(0.0.255) virtual][*
|
|
][*@(0.0.255) void][* _Open]([@(0.0.255) const]_[_^String^ String][@(0.0.255) `&]_[*@3 data],
|
|
[@(0.0.255) int]_[*@3 cx], [@(0.0.255) int]_[*@3 cy])_`=_[@3 0]&]
|
|
[s2; Called to open [%-*@3 data] for processing, the output size being
|
|
[%-*@3 cx], [%-*@3 cy].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:DataDrawer`:`:Render`(ImageBuffer`&`):%- [*@(0.0.255) virtual][*
|
|
][*@(0.0.255) void][* _Render]([_^ImageBuffer^ ImageBuffer][@(0.0.255) `&]_[*@3 ib])_`=_[@3 0
|
|
]&]
|
|
[s2; Called to render the part (or all) of the result into [%-*@3 ib].
|
|
The width of [%-*@3 ib] is the same as specified in Open, the
|
|
height is the required height of band to render.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:DataDrawer`:`:`~DataDrawer`(`):%- [@(0.0.255) `~][* DataDrawer]()&]
|
|
[s2; Virtual destructor.&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:DataDrawer`:`:Create`(const String`&`):%- [*@(0.0.255) static][*
|
|
][*_^One^ One][* <][*_^DataDrawer^ DataDrawer][* >_Create(][*@(0.0.255) const][* _][*_^String^ S
|
|
tring][*@(0.0.255) `&][* _][*@3 id][* )]&]
|
|
[s2; Creates a derived DataDrawer with type [%-*@3 id].&]
|
|
[s3; &]
|
|
[s4; &]
|
|
[s5;:DataDrawer`:`:Register`(const char`*`):%- [*@(0.0.255) static][*
|
|
][*@(0.0.255) template][* _<][*@(0.0.255) class][* _][*@4 T][* >_][*@(0.0.255) void][* _Register(
|
|
][*@(0.0.255) const][* _][*@(0.0.255) char][* _`*][*@3 id][* )]&]
|
|
[s2; This method registers specific DataDrawer derived class as renderer
|
|
for type [%-*@3 id].&]
|
|
[s3; &]
|
|
[s0; ] |