… | |
… | |
144 | } |
144 | } |
145 | |
145 | |
146 | static void |
146 | static void |
147 | layout_get_pixel_size (CFPlus__Layout self, int *w, int *h) |
147 | layout_get_pixel_size (CFPlus__Layout self, int *w, int *h) |
148 | { |
148 | { |
|
|
149 | PangoRectangle rect; |
|
|
150 | |
|
|
151 | // get_pixel_* wrongly rounds down |
149 | pango_layout_get_pixel_size (self->pl, w, h); |
152 | pango_layout_get_extents (self->pl, 0, &rect); |
150 | |
153 | |
151 | if (!*w) *w = 1; |
154 | rect.width = (rect.width + PANGO_SCALE - 1) / PANGO_SCALE; |
152 | if (!*h) *h = 1; |
155 | rect.height = (rect.height + PANGO_SCALE - 1) / PANGO_SCALE; |
153 | |
156 | |
154 | *w = (*w + 3) & ~3; |
157 | if (!rect.width) rect.width = 1; |
|
|
158 | if (!rect.height) rect.height = 1; |
|
|
159 | |
|
|
160 | *w = rect.width; |
|
|
161 | *h = rect.height; |
155 | } |
162 | } |
156 | |
163 | |
157 | typedef uint16_t mapface; |
164 | typedef uint16_t mapface; |
158 | |
165 | |
159 | typedef struct { |
166 | typedef struct { |
… | |
… | |
1803 | const_iv (GL_SEPARABLE_2D), |
1810 | const_iv (GL_SEPARABLE_2D), |
1804 | const_iv (GL_CONVOLUTION_2D), |
1811 | const_iv (GL_CONVOLUTION_2D), |
1805 | const_iv (GL_CONVOLUTION_BORDER_MODE), |
1812 | const_iv (GL_CONVOLUTION_BORDER_MODE), |
1806 | const_iv (GL_CONSTANT_BORDER), |
1813 | const_iv (GL_CONSTANT_BORDER), |
1807 | const_iv (GL_LINES), |
1814 | const_iv (GL_LINES), |
|
|
1815 | const_iv (GL_LINE_STRIP), |
1808 | const_iv (GL_LINE_LOOP), |
1816 | const_iv (GL_LINE_LOOP), |
1809 | const_iv (GL_QUADS), |
1817 | const_iv (GL_QUADS), |
1810 | const_iv (GL_QUAD_STRIP), |
1818 | const_iv (GL_QUAD_STRIP), |
1811 | const_iv (GL_TRIANGLES), |
1819 | const_iv (GL_TRIANGLES), |
1812 | const_iv (GL_TRIANGLE_STRIP), |
1820 | const_iv (GL_TRIANGLE_STRIP), |
… | |
… | |
2009 | |
2017 | |
2010 | void glEndList () |
2018 | void glEndList () |
2011 | |
2019 | |
2012 | void glCallList (int list) |
2020 | void glCallList (int list) |
2013 | |
2021 | |
2014 | int glX () |
|
|
2015 | CODE: |
|
|
2016 | GLdouble m[4][4]; |
|
|
2017 | glGetDoublev (GL_MODELVIEW_MATRIX, m); |
|
|
2018 | printf ("%f %f %f %f\n", m[0][0], m[0][1], m[0][2], m[0][3]); |
|
|
2019 | printf ("%f %f %f %f\n", m[1][0], m[1][1], m[1][2], m[1][3]); |
|
|
2020 | printf ("%f %f %f %f\n", m[2][0], m[2][1], m[2][2], m[2][3]); |
|
|
2021 | printf ("%f %f %f %f\n", m[3][0], m[3][1], m[3][2], m[3][3]); |
|
|
2022 | printf ("\n"); |
|
|
2023 | |
|
|