loadFontMinimum();
initAPIprop();
-
+
if(!api->vsync_available_) {
Rectangle *rect = new Rectangle(600, 20);
rect->centering(getCenter().x, getHeight()-20);
//// Drawing Images
- Canvas& Canvas::image(const Image &img) {
- drawImage(img, img.targetarea_.getLeft(), img.targetarea_.getTop());
+ Canvas& Canvas::image(const Image &img) {\r
+ if(img._zoom_percentage_ == 100) {
+ drawImage(img, img.targetarea_.getLeft(), img.targetarea_.getTop());\r
+ } else {
+ drawImage((Image &)img, img.targetarea_);\r
+ }
return *this;
}
void Canvas::drawImage(const Image &img) {
*(++p) = (unsigned char)0;
}
*/
+ Image& Image::_zoom_(const double percentage) {\r
+ _zoom_percentage_ = percentage;\r
+ targetarea_.resize(width_*(percentage/100.0), height_*(percentage/100.0));\r
+ return *this;\r
+ }
Image& Image::alpha(const double a)
{
for(int y=0; y<getHeight(); y++)
}\r
\r
public:\r
- double _zoom_percentage_;
+ double _zoom_percentage_;\r
+ Image& _zoom_(const double percentage);
protected:
int width_, height_;
double mx = xx, my = yy;\r
//double mx = drawee.getDatum().x, my = drawee.getDatum().y;\r
\r
+ double w_ratio = 1.0;\r
+ if(drawee._zoom_cache) { w_ratio = drawee.font.size/font_size; img._zoom_(100.0*w_ratio); }\r
+\r
double x, y;\r
switch(anchor) {\r
case Letters::TEXT_ALIGN_CENTER:\r
- x = mx - img.getWidth() / 2;\r
+ x = mx - img.getWidth() * w_ratio / 2;\r
break;\r
case Letters::TEXT_ALIGN_RIGHT:\r
- x = mx - img.getWidth();\r
+ x = mx - img.getWidth() * w_ratio;\r
break;\r
case Letters::NOT_SPECIFIED:\r
case Letters::TEXT_ALIGN_LEFT:\r