Browse Source

fix macOS Sonoma/Sequoia not capturing OpenGL text on macOS - cont'd (#1197

pull/1212/head
ManoloFLTK 4 months ago
parent
commit
9afb35f3a6
  1. 4
      src/drivers/Cocoa/Fl_Cocoa_Gl_Window_Driver.mm

4
src/drivers/Cocoa/Fl_Cocoa_Gl_Window_Driver.mm

@ -488,7 +488,9 @@ Fl_RGB_Image* Fl_Cocoa_Gl_Window_Driver::capture_gl_rectangle(int x, int y, int
if (fl_mac_os_version >= 100600) { if (fl_mac_os_version >= 100600) {
NSWindow *nswin = (NSWindow*)fl_mac_xid(pWindow); NSWindow *nswin = (NSWindow*)fl_mac_xid(pWindow);
CGImageRef img_full = Fl_Cocoa_Window_Driver::capture_decorated_window_10_6(nswin); CGImageRef img_full = Fl_Cocoa_Window_Driver::capture_decorated_window_10_6(nswin);
CGRect cgr = CGRectMake(x, y, w, h); int bt = [nswin frame].size.height - [[nswin contentView] frame].size.height;
bt *= (factor / Fl_Graphics_Driver::default_driver().scale());
CGRect cgr = CGRectMake(x, y + bt, w, h); // add vertical offset to bypass titlebar
CGImageRef cgimg = CGImageCreateWithImageInRect(img_full, cgr); // 10.4 CGImageRef cgimg = CGImageCreateWithImageInRect(img_full, cgr); // 10.4
CGImageRelease(img_full); CGImageRelease(img_full);
Fl_RGB_Image *rgb = cgimage_to_rgb3(cgimg); Fl_RGB_Image *rgb = cgimage_to_rgb3(cgimg);

Loading…
Cancel
Save