emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r109947: * nsterm.m (ns_draw_fringe_b


From: Jan D.
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r109947: * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
Date: Sat, 08 Sep 2012 22:16:39 +0200
User-agent: Bazaar (2.5.0)

------------------------------------------------------------
revno: 109947
fixes bug: http://debbugs.gnu.org/12390
committer: Jan D. <address@hidden>
branch nick: trunk
timestamp: Sat 2012-09-08 22:16:39 +0200
message:
  * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
  compositeToPoint for OSX < 10.6.
modified:
  src/ChangeLog
  src/nsterm.m
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2012-09-08 19:57:32 +0000
+++ b/src/ChangeLog     2012-09-08 20:16:39 +0000
@@ -1,3 +1,8 @@
+2012-09-08  Jan Djärv  <address@hidden>
+
+       * nsterm.m (ns_draw_fringe_bitmap, ns_dumpglyphs_image): Take back
+       compositeToPoint for OSX < 10.6 (Bug#12390).
+
 2012-09-08  Paul Eggert  <address@hidden>
 
        * floatfns.c (Ftan): Use tan (x), not (sin (x) / cos (x)).

=== modified file 'src/nsterm.m'
--- a/src/nsterm.m      2012-09-08 17:22:15 +0000
+++ b/src/nsterm.m      2012-09-08 20:16:39 +0000
@@ -650,7 +650,7 @@
   struct frame *f = XFRAME (WINDOW_FRAME (w));
  Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (f);
   NSTRACE (ns_update_window_begin);
-
+  fprintf(stderr, "%s\n", __func__);
   updated_window = w;
   set_output_cursor (&w->cursor);
 
@@ -683,6 +683,7 @@
 {
   Mouse_HLInfo *hlinfo = MOUSE_HL_INFO (XFRAME (w->frame));
 
+  fprintf(stderr, "%s\n", __func__);
   /* note: this fn is nearly identical in all terms */
   if (!w->pseudo_window_p)
     {
@@ -1266,6 +1267,7 @@
    wr.origin.y += FRAME_PIXEL_HEIGHT (f) - pixelheight;
 
   [view setRows: rows andColumns: cols];
+  fprintf(stderr, "%s %d %d\n", __func__, cols, (int)wr.origin.x);
   [window setFrame: wr display: YES];
 
 /*fprintf (stderr, "\tx_set_window_size %d, %d\t%d, %d\n", cols, rows, 
pixelwidth, pixelheight); */
@@ -1283,6 +1285,7 @@
                      - NS_SCROLL_BAR_WIDTH (f), 0)
       : NSMakePoint (0, 0);
     [view setFrame: NSMakeRect (0, 0, pixelwidth, pixelheight)];
+    fprintf(stderr, "%s origin %d\n", __func__, (int)origin.x);
     [view setBoundsOrigin: origin];
   }
 
@@ -2297,12 +2300,20 @@
       [ns_lookup_indexed_color(face->background, f) set];
       NSRectFill (r);
       [img setXBMColor: ns_lookup_indexed_color(face->foreground, f)];
+#if !defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED >= 
MAC_OS_X_VERSION_10_6
       [img drawInRect: r
               fromRect: NSZeroRect
              operation: NSCompositeSourceOver
               fraction: 1.0
            respectFlipped: YES
                 hints: nil];
+#else
+      {
+        NSPoint pt = r.origin;
+        pt.y += p->h;
+        [img compositeToPoint: pt operation: NSCompositeSourceOver];
+      }
+#endif
     }
   ns_unfocus (f);
 }
@@ -2961,12 +2972,19 @@
 
   /* Draw the image.. do we need to draw placeholder if img ==nil? */
   if (img != nil)
+    {
+#if !defined (NS_IMPL_COCOA) || MAC_OS_X_VERSION_MAX_ALLOWED >= 
MAC_OS_X_VERSION_10_6
       [img drawInRect: br
-              fromRect: NSZeroRect
+             fromRect: NSZeroRect
              operation: NSCompositeSourceOver
               fraction: 1.0
            respectFlipped: YES
                 hints: nil];
+#else
+      [img compositeToPoint: NSMakePoint (x, y + s->slice.height)
+                  operation: NSCompositeSourceOver];
+#endif
+    }
 
   if (s->hl == DRAW_CURSOR)
     {
@@ -5380,6 +5398,7 @@
       change_frame_size (emacsframe, rows, cols, 0, 0, 1);
       SET_FRAME_GARBAGED (emacsframe);
       cancel_mouse_face (emacsframe);
+      fprintf(stderr, "%s %d %d\n", __func__, cols, neww);
       [view setFrame: NSMakeRect (0, 0, neww, newh)];
     }
 }
@@ -6196,8 +6215,20 @@
   NSTRACE (constrainFrameRect);
 
   if (nr_screens == 1)
-    return [super constrainFrameRect:frameRect toScreen:screen];
-
+    {
+      NSRect r = [super constrainFrameRect:frameRect toScreen:screen];
+      fprintf(stderr, "%s %d/%d %d/%d => %d/%d %d/%d\n", __func__,
+              (int)frameRect.origin.x,
+              (int)frameRect.origin.y,
+              (int)frameRect.size.width,
+              (int)frameRect.size.height,
+              (int)r.origin.x,
+              (int)r.origin.y,
+              (int)r.size.width,
+              (int)r.size.height);
+      return r;
+    }
+  
   if (f->output_data.ns->dont_constrain
       || ns_menu_bar_should_be_hidden ())
     return frameRect;


reply via email to

[Prev in Thread] Current Thread [Next in Thread]