/[classpath]/classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c
ViewVC logotype

Diff of /classpath/native/jni/gtk-peer/gnu_java_awt_peer_gtk_GdkFontPeer.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4.2.6 by gnu_andrew, Tue Sep 20 18:46:37 2005 UTC revision 1.4.2.7 by gnu_andrew, Sun Nov 27 21:00:42 2005 UTC
# Line 65  Java_gnu_java_awt_peer_gtk_GdkFontPeer_i Line 65  Java_gnu_java_awt_peer_gtk_GdkFontPeer_i
65    glyphVector_class = (*env)->FindClass    glyphVector_class = (*env)->FindClass
66      (env, "gnu/java/awt/peer/gtk/GdkGlyphVector");      (env, "gnu/java/awt/peer/gtk/GdkGlyphVector");
67    
68      glyphVector_class = (*env)->NewGlobalRef
69        (env, glyphVector_class);
70    
71    glyphVector_ctor = (*env)->GetMethodID    glyphVector_ctor = (*env)->GetMethodID
72      (env, glyphVector_class, "<init>",      (env, glyphVector_class, "<init>",
73       "([D[ILjava/awt/Font;Ljava/awt/font/FontRenderContext;)V");       "([D[ILjava/awt/Font;Ljava/awt/font/FontRenderContext;)V");
# Line 288  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g Line 291  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g
291    const char *cstr = NULL;    const char *cstr = NULL;
292    jdouble *native_metrics = NULL;      jdouble *native_metrics = NULL;  
293    PangoRectangle log;    PangoRectangle log;
294      PangoRectangle log2;
295      int line_count = 0;
296      int i = 0;
297      int width = 0;
298    
299    gdk_threads_enter();    gdk_threads_enter();
300    
# Line 296  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g Line 303  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g
303    
304    cstr = (*env)->GetStringUTFChars (env, str, NULL);    cstr = (*env)->GetStringUTFChars (env, str, NULL);
305    g_assert(cstr != NULL);    g_assert(cstr != NULL);
306      
307    pango_layout_set_text (pfont->layout, cstr, -1);    pango_layout_set_text (pfont->layout, cstr, -1);
308    pango_layout_get_extents (pfont->layout, NULL, &log);    pango_layout_get_extents (pfont->layout, NULL, &log);
309      
310      line_count = pango_layout_get_line_count (pfont->layout);
311      for (i = 0; i < line_count; i++)
312       {
313         pango_layout_line_get_extents (pango_layout_get_line (pfont->layout, i),
314           NULL, &log2);
315         width += log2.width;
316       }
317    
318    (*env)->ReleaseStringUTFChars (env, str, cstr);      (*env)->ReleaseStringUTFChars (env, str, cstr);  
319    pango_layout_set_text (pfont->layout, "", -1);    pango_layout_set_text (pfont->layout, "", -1);
# Line 312  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g Line 327  Java_gnu_java_awt_peer_gtk_GdkFontPeer_g
327    native_metrics[TEXT_METRICS_Y_BEARING]    native_metrics[TEXT_METRICS_Y_BEARING]
328      = PANGO_PIXELS( ((double)log.y) );      = PANGO_PIXELS( ((double)log.y) );
329    
   native_metrics[TEXT_METRICS_WIDTH]  
     = PANGO_PIXELS( ((double)log.width) );  
   
330    native_metrics[TEXT_METRICS_HEIGHT]    native_metrics[TEXT_METRICS_HEIGHT]
331      = PANGO_PIXELS( ((double)log.height) );      = PANGO_PIXELS( ((double)log.height) );
332    
333      native_metrics[TEXT_METRICS_WIDTH]
334        = PANGO_PIXELS( ((double)width) );
335    
336    native_metrics[TEXT_METRICS_X_ADVANCE]    native_metrics[TEXT_METRICS_X_ADVANCE]
337      = PANGO_PIXELS( ((double) (log.x + log.width)) );      = PANGO_PIXELS( ((double) (log.x + log.width)) );
338    

Legend:
Removed from v.1.4.2.6  
changed lines
  Added in v.1.4.2.7

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26