58 |
struct textlayout *tl; |
struct textlayout *tl; |
59 |
|
|
60 |
gdk_threads_enter (); |
gdk_threads_enter (); |
61 |
|
|
62 |
g_assert(self != NULL); |
g_assert(self != NULL); |
63 |
tl = g_malloc0 (sizeof (struct textlayout)); |
tl = g_malloc0 (sizeof (struct textlayout)); |
64 |
g_assert(tl != NULL); |
g_assert(tl != NULL); |
65 |
tl->pango_layout = pango_layout_new(gdk_pango_context_get()); |
tl->pango_layout = pango_layout_new(gdk_pango_context_get()); |
66 |
g_assert(tl->pango_layout != NULL); |
g_assert(tl->pango_layout != NULL); |
67 |
NSA_SET_TEXT_LAYOUT_PTR (env, self, tl); |
NSA_SET_TEXT_LAYOUT_PTR (env, self, tl); |
68 |
|
|
69 |
gdk_threads_leave (); |
gdk_threads_leave (); |
70 |
} |
} |
71 |
|
|
78 |
gint len = 0; |
gint len = 0; |
79 |
|
|
80 |
gdk_threads_enter (); |
gdk_threads_enter (); |
81 |
|
|
82 |
g_assert(self != NULL); |
g_assert(self != NULL); |
83 |
g_assert(text != NULL); |
g_assert(text != NULL); |
84 |
|
|
93 |
pango_layout_set_text (tl->pango_layout, text, len); |
pango_layout_set_text (tl->pango_layout, text, len); |
94 |
|
|
95 |
(*env)->ReleaseStringUTFChars (env, text, str); |
(*env)->ReleaseStringUTFChars (env, text, str); |
96 |
|
|
97 |
gdk_threads_leave (); |
gdk_threads_leave (); |
98 |
} |
} |
99 |
|
|
106 |
jdouble *nativePos; |
jdouble *nativePos; |
107 |
|
|
108 |
gdk_threads_enter (); |
gdk_threads_enter (); |
109 |
|
|
110 |
g_assert(self != NULL); |
g_assert(self != NULL); |
111 |
g_assert(javaPos != NULL); |
g_assert(javaPos != NULL); |
112 |
|
|
126 |
nativePos[3] = (jdouble) pangoPos.height; |
nativePos[3] = (jdouble) pangoPos.height; |
127 |
|
|
128 |
(*env)->ReleaseDoubleArrayElements (env, javaPos, nativePos, 0); |
(*env)->ReleaseDoubleArrayElements (env, javaPos, nativePos, 0); |
129 |
|
|
130 |
gdk_threads_leave (); |
gdk_threads_leave (); |
131 |
} |
} |
132 |
|
|
139 |
jdouble *nativeInkExtents, *nativeLogExtents; |
jdouble *nativeInkExtents, *nativeLogExtents; |
140 |
|
|
141 |
gdk_threads_enter (); |
gdk_threads_enter (); |
142 |
|
|
143 |
g_assert(self != NULL); |
g_assert(self != NULL); |
144 |
g_assert(javaInkExtents != NULL); |
g_assert(javaInkExtents != NULL); |
145 |
g_assert(javaLogExtents != NULL); |
g_assert(javaLogExtents != NULL); |
180 |
struct textlayout *tl; |
struct textlayout *tl; |
181 |
|
|
182 |
gdk_threads_enter (); |
gdk_threads_enter (); |
183 |
|
|
184 |
g_assert(self != NULL); |
g_assert(self != NULL); |
185 |
tl = (struct textlayout *) NSA_DEL_TEXT_LAYOUT_PTR (env, self); |
tl = (struct textlayout *) NSA_DEL_TEXT_LAYOUT_PTR (env, self); |
186 |
g_assert(tl != NULL); |
g_assert(tl != NULL); |
187 |
if (tl->pango_layout != NULL) |
if (tl->pango_layout != NULL) |
188 |
g_object_unref (tl->pango_layout); |
g_object_unref (tl->pango_layout); |
189 |
g_free(tl); |
g_free(tl); |
190 |
|
|
191 |
gdk_threads_leave (); |
gdk_threads_leave (); |
192 |
} |
} |