diff options
author | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-04-04 21:19:58 +0200 |
---|---|---|
committer | Bent Bisballe Nyeng <deva@aasimon.org> | 2013-04-04 21:19:58 +0200 |
commit | 77b3943b751bed43d230de6db322a750bfd1fc8e (patch) | |
tree | cd7d98bc8c06c660558a52f2b6b6ed73982efdf2 /plugingui/painter.cc | |
parent | 0e436ebcd7faacb557ab94952765cb6bcfd7d259 (diff) |
New message system. New common midi input class. Some compiler warning fixes. New ListBoxBasic class used by both LustBox and ComboBox. New embossed font.
Diffstat (limited to 'plugingui/painter.cc')
-rw-r--r-- | plugingui/painter.cc | 38 |
1 files changed, 24 insertions, 14 deletions
diff --git a/plugingui/painter.cc b/plugingui/painter.cc index 5a88b7c..9e5b052 100644 --- a/plugingui/painter.cc +++ b/plugingui/painter.cc @@ -103,7 +103,7 @@ void GUI::Painter::drawLine(int x0, int y0, int x1, int y1) // Handle first endpoint: double xend = round(x0); double yend = y0 + gradient * (xend - x0); - double xgap = rfpart(x0 + 0.5); + //double xgap = rfpart(x0 + 0.5); double xpxl1 = xend; //this will be used in the main loop double ypxl1 = ipart(yend); @@ -122,7 +122,7 @@ void GUI::Painter::drawLine(int x0, int y0, int x1, int y1) // Handle second endpoint: xend = round(x1); yend = y1 + gradient * (xend - x1); - xgap = fpart(x1 + 0.5); + //xgap = fpart(x1 + 0.5); double xpxl2 = xend; //this will be used in the main loop double ypxl2 = ipart(yend); @@ -173,19 +173,29 @@ void GUI::Painter::clear() } } -void GUI::Painter::drawText(int x0, int y0, GUI::Font &font, std::string text) +void GUI::Painter::drawText(int x0, int y0, GUI::Font &font, std::string text, + bool nocolour) { PixelBufferAlpha *textbuf = font.render(widget->window()->gctx, text); - - for(size_t x = 0; x < textbuf->width; x++) { - for(size_t y = 0; y < textbuf->height; y++) { - unsigned char r,g,b,a; - textbuf->pixel(x, y, &r, &g, &b, &a); - pixbuf->addPixel(x + x0, y + y0 - textbuf->height, - colour.red * 255, - colour.green * 255, - colour.blue * 255, - colour.alpha * a); + if(nocolour) { + for(size_t x = 0; x < textbuf->width; x++) { + for(size_t y = 0; y < textbuf->height; y++) { + unsigned char r,g,b,a; + textbuf->pixel(x, y, &r, &g, &b, &a); + pixbuf->addPixel(x + x0, y + y0 - textbuf->height, r,g,b,a); + } + } + } else { + for(size_t x = 0; x < textbuf->width; x++) { + for(size_t y = 0; y < textbuf->height; y++) { + unsigned char r,g,b,a; + textbuf->pixel(x, y, &r, &g, &b, &a); + pixbuf->addPixel(x + x0, y + y0 - textbuf->height, + colour.red * 255, + colour.green * 255, + colour.blue * 255, + colour.alpha * a); + } } } @@ -436,7 +446,7 @@ void GUI::Painter::drawBox(int x, int y, Box *box, int width, int height) void GUI::Painter::drawBar(int x, int y, Bar *bar, int width, int height) { - if(width < (bar->left->width() + bar->right->width() + 1)) { + if(width < ((int)bar->left->width() + (int)bar->right->width() + 1)) { width = bar->left->width() + bar->right->width() + 1; } drawImageStretched(x, y, |