embox
36 строк · 1.3 Кб
1--- Nuklear-9f0bca461b028c1f8b638beeba1859045ebe1ac3/demo/x11_rawfb/nuklear_rawfb.h 2020-04-17 11:20:02.000000000 +0300
2+++ ../build/extbld/third_party/lib/nuklear/Nuklear-9f0bca461b028c1f8b638beeba1859045ebe1ac3/demo/x11_rawfb/nuklear_rawfb.h 2021-01-10 01:17:49.092283054 +0300
3@@ -895,7 +895,7 @@
4continue;
5}
6col = nk_rawfb_img_getpixel(src, (int)xoff, (int) yoff);
7- if (col.r || col.g || col.b)
8+ if (fg && (col.r || col.g || col.b))
9{
10col.r = fg->r;
11col.g = fg->g;
12@@ -1007,7 +1007,23 @@
13dst_rect.y = y;
14dst_rect.w = w;
15dst_rect.h = h;
16- nk_rawfb_stretch_image(&rawfb->fb, &rawfb->font_tex, &dst_rect, &src_rect, &rawfb->scissors, col);
17+
18+ if (img && img->handle.ptr) {
19+ struct rawfb_image fb;
20+ int wx = img->region[2];
21+ int hx = img->region[3];
22+
23+ fb.pixels = img->handle.ptr;
24+ fb.w = wx;
25+ fb.h = hx;
26+ fb.pitch = wx * 4;
27+ fb.pl = PIXEL_LAYOUT_XRGB_8888;
28+ fb.format = NK_FONT_ATLAS_RGBA32;
29+
30+ nk_rawfb_stretch_image(&rawfb->fb, &fb, &dst_rect, &src_rect, &rawfb->scissors, NULL);
31+ } else {
32+ nk_rawfb_stretch_image(&rawfb->fb, &rawfb->font_tex, &dst_rect, &src_rect, &rawfb->scissors, col);
33+ }
34}
35
36NK_API void
37