mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-25 22:03:45 -06:00
Draw: New Copy(Image, Rect) variant
git-svn-id: svn://ultimatepp.org/upp/trunk@11894 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
64dbf66224
commit
ecf64bd572
3 changed files with 16 additions and 1 deletions
|
|
@ -75,6 +75,13 @@ Image GetOver(const Image& dest, const Image& src)
|
|||
return r;
|
||||
}
|
||||
|
||||
Image Copy(const Image& src, const Rect& srect)
|
||||
{
|
||||
ImageBuffer ib(srect.GetSize());
|
||||
Copy(ib, Point(0, 0), src, srect);
|
||||
return ib;
|
||||
}
|
||||
|
||||
void Fill(ImageBuffer& dest, const Rect& rect, RGBA color)
|
||||
{
|
||||
Rect r = dest.GetSize() & rect;
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@ void Over(Image& dest, Point p, const Image& src, const Rect& srect);
|
|||
Image GetOver(const Image& dest, const Image& src);
|
||||
void Fill(Image& dest, const Rect& rect, RGBA color);
|
||||
|
||||
Image Copy(const Image& src, const Rect& srect);
|
||||
|
||||
void OverStraightOpaque(ImageBuffer& dest, Point p, const Image& src, const Rect& srect);
|
||||
void OverStraightOpaque(Image& dest, Point p, const Image& _src, const Rect& srect);
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
topic "Image and ImageBuffer";
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[i448;a25;kKO9;2 $$1,0#37138531426314131252341829483380:class]
|
||||
[l288;2 $$2,2#27521748481378242620020725143825:desc]
|
||||
[0 $$3,0#96390100711032703541132217272105:end]
|
||||
|
|
@ -9,6 +8,7 @@ topic "Image and ImageBuffer";
|
|||
[l288;i1121;b17;O9;~~~.1408;2 $$7,0#10431211400427159095818037425705:param]
|
||||
[i448;b42;O9;2 $$8,8#61672508125594000341940100500538:tparam]
|
||||
[b42;2 $$9,9#13035079074754324216151401829390:normal]
|
||||
[2 $$0,0#00000000000000000000000000000000:Default]
|
||||
[{_}
|
||||
[ {{10000@(113.42.0) [s0;%% [*@7;4 Image]]}}&]
|
||||
[s3; &]
|
||||
|
|
@ -312,6 +312,12 @@ mage][@(0.0.255) `&]_[*@3 dest], [@(0.0.255) const]_[_^Upp`:`:Image^ Image][@(0.
|
|||
[s2;%% Fills rectangular are [%-*@3 rect] with [%-*@3 color].&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:Upp`:`:Copy`(const Upp`:`:Image`&`,const Upp`:`:Rect`&`): [_^Upp`:`:Image^ Image]_
|
||||
[* Copy]([@(0.0.255) const]_[_^Upp`:`:Image^ Image][@(0.0.255) `&]_[*@3 src],
|
||||
[@(0.0.255) const]_[_^Upp`:`:Rect^ Rect][@(0.0.255) `&]_[*@3 srect])&]
|
||||
[s2;%% Returns [%-*@3 srect] area of [%-*@3 src].&]
|
||||
[s3;%% &]
|
||||
[s4; &]
|
||||
[s5;:OverStraightOpaque`(ImageBuffer`&`,Point`,const Image`&`,const Rect`&`): [@(0.0.255) v
|
||||
oid]_[* OverStraightOpaque]([_^ImageBuffer^ ImageBuffer][@(0.0.255) `&]_[*@3 dest],
|
||||
[_^Point^ Point]_[*@3 p], [@(0.0.255) const]_[_^Image^ Image][@(0.0.255) `&]_[*@3 src],
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue