Continue removing from class Fl_X what is not window-related.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11612 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
parent
a1de05784b
commit
156d2e4053
1
FL/mac.H
1
FL/mac.H
@ -167,7 +167,6 @@ public:
|
|||||||
static unsigned char *bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel);
|
static unsigned char *bitmap_from_window_rect(Fl_Window *win, int x, int y, int w, int h, int *bytesPerPixel);
|
||||||
static void screen_work_area(int &X, int &Y, int &W, int &H, int n); // compute work area of a given screen
|
static void screen_work_area(int &X, int &Y, int &W, int &H, int n); // compute work area of a given screen
|
||||||
static void clip_to_rounded_corners(CGContextRef gc, int w, int h);
|
static void clip_to_rounded_corners(CGContextRef gc, int w, int h);
|
||||||
static void complete_copy_pdf_and_tiff(CGContextRef gc, CFMutableDataRef pdfdata);
|
|
||||||
private:
|
private:
|
||||||
CGRect* subRect_; // makes sure subwindow remains inside its parent window
|
CGRect* subRect_; // makes sure subwindow remains inside its parent window
|
||||||
// stores 3 binary flags: whether window is mapped to retina display; whether resolution just changed;
|
// stores 3 binary flags: whether window is mapped to retina display; whether resolution just changed;
|
||||||
|
@ -45,6 +45,7 @@ extern "C" {
|
|||||||
#include <FL/Fl_Shared_Image.H>
|
#include <FL/Fl_Shared_Image.H>
|
||||||
#include <FL/fl_draw.H>
|
#include <FL/fl_draw.H>
|
||||||
#include "drivers/Quartz/Fl_Quartz_Graphics_Driver.H"
|
#include "drivers/Quartz/Fl_Quartz_Graphics_Driver.H"
|
||||||
|
#include "drivers/Quartz/Fl_Quartz_Copy_Surface_Driver.H"
|
||||||
#include "drivers/Cocoa/Fl_Cocoa_Screen_Driver.H"
|
#include "drivers/Cocoa/Fl_Cocoa_Screen_Driver.H"
|
||||||
#include "drivers/Cocoa/Fl_Cocoa_Window_Driver.H"
|
#include "drivers/Cocoa/Fl_Cocoa_Window_Driver.H"
|
||||||
#include "drivers/Darwin/Fl_Darwin_System_Driver.H"
|
#include "drivers/Darwin/Fl_Darwin_System_Driver.H"
|
||||||
@ -3317,7 +3318,7 @@ void Fl_X::set_high_resolution(bool new_val)
|
|||||||
Fl_Display_Device::high_res_window_ = new_val;
|
Fl_Display_Device::high_res_window_ = new_val;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Fl_X::complete_copy_pdf_and_tiff(CGContextRef gc, CFMutableDataRef pdfdata)
|
Fl_Quartz_Copy_Surface_Driver::~Fl_Quartz_Copy_Surface_Driver()
|
||||||
{
|
{
|
||||||
CGContextRestoreGState(gc);
|
CGContextRestoreGState(gc);
|
||||||
CGContextEndPage(gc);
|
CGContextEndPage(gc);
|
||||||
|
49
src/drivers/Quartz/Fl_Quartz_Copy_Surface_Driver.H
Normal file
49
src/drivers/Quartz/Fl_Quartz_Copy_Surface_Driver.H
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
//
|
||||||
|
// "$Id: Fl_Quartz_Copy_Surface_Driver.H 11017 2016-01-20 21:40:12Z matt $"
|
||||||
|
//
|
||||||
|
// Definition of Apple Quartz graphics driver
|
||||||
|
// for the Fast Light Tool Kit (FLTK).
|
||||||
|
//
|
||||||
|
// Copyright 2010-2016 by Bill Spitzak and others.
|
||||||
|
//
|
||||||
|
// This library is free software. Distribution and use rights are outlined in
|
||||||
|
// the file "COPYING" which should have been included with this file. If this
|
||||||
|
// file is missing or damaged, see the license at:
|
||||||
|
//
|
||||||
|
// http://www.fltk.org/COPYING.php
|
||||||
|
//
|
||||||
|
// Please report all bugs and problems on the following page:
|
||||||
|
//
|
||||||
|
// http://www.fltk.org/str.php
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
#ifndef Fl_Quartz_Copy_Surface_Driver_H
|
||||||
|
#define Fl_Quartz_Copy_Surface_Driver_H
|
||||||
|
|
||||||
|
#include <FL/Fl_Copy_Surface.H>
|
||||||
|
|
||||||
|
class Fl_Quartz_Copy_Surface_Driver : public Fl_Copy_Surface_Driver {
|
||||||
|
friend class Fl_Copy_Surface_Driver;
|
||||||
|
protected:
|
||||||
|
CFMutableDataRef pdfdata;
|
||||||
|
CGContextRef gc;
|
||||||
|
void prepare_copy_pdf_and_tiff(int w, int h);
|
||||||
|
void init_PDF_context(int w, int h);
|
||||||
|
static size_t MyPutBytes(void* info, const void* buffer, size_t count);
|
||||||
|
Fl_Quartz_Copy_Surface_Driver(int w, int h);
|
||||||
|
// implemented in Fl_cocoa.mm because uses Objective-c
|
||||||
|
~Fl_Quartz_Copy_Surface_Driver();
|
||||||
|
void set_current();
|
||||||
|
void translate(int x, int y);
|
||||||
|
void untranslate();
|
||||||
|
int w() {return width;}
|
||||||
|
int h() {return height;}
|
||||||
|
int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif /* Fl_Quartz_Copy_Surface_Driver_H */
|
||||||
|
|
||||||
|
//
|
||||||
|
// End of "$Id: Fl_Quartz_Copy_Surface_Driver.H 11017 2016-01-20 21:40:12Z matt $".
|
||||||
|
//
|
@ -22,24 +22,7 @@
|
|||||||
#include <FL/Fl_Copy_Surface.H>
|
#include <FL/Fl_Copy_Surface.H>
|
||||||
#include <FL/x.H>
|
#include <FL/x.H>
|
||||||
#include "Fl_Quartz_Graphics_Driver.H"
|
#include "Fl_Quartz_Graphics_Driver.H"
|
||||||
|
#include "Fl_Quartz_Copy_Surface_Driver.H"
|
||||||
class Fl_Quartz_Copy_Surface_Driver : public Fl_Copy_Surface_Driver {
|
|
||||||
friend class Fl_Copy_Surface_Driver;
|
|
||||||
protected:
|
|
||||||
CFMutableDataRef pdfdata;
|
|
||||||
CGContextRef gc;
|
|
||||||
void prepare_copy_pdf_and_tiff(int w, int h);
|
|
||||||
void init_PDF_context(int w, int h);
|
|
||||||
static size_t MyPutBytes(void* info, const void* buffer, size_t count);
|
|
||||||
Fl_Quartz_Copy_Surface_Driver(int w, int h);
|
|
||||||
~Fl_Quartz_Copy_Surface_Driver();
|
|
||||||
void set_current();
|
|
||||||
void translate(int x, int y);
|
|
||||||
void untranslate();
|
|
||||||
int w() {return width;}
|
|
||||||
int h() {return height;}
|
|
||||||
int printable_rect(int *w, int *h) {*w = width; *h = height; return 0;}
|
|
||||||
};
|
|
||||||
|
|
||||||
Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h)
|
Fl_Copy_Surface_Driver *Fl_Copy_Surface_Driver::newCopySurfaceDriver(int w, int h)
|
||||||
{
|
{
|
||||||
@ -51,11 +34,6 @@ Fl_Quartz_Copy_Surface_Driver::Fl_Quartz_Copy_Surface_Driver(int w, int h) : Fl_
|
|||||||
prepare_copy_pdf_and_tiff(w, h);
|
prepare_copy_pdf_and_tiff(w, h);
|
||||||
}
|
}
|
||||||
|
|
||||||
Fl_Quartz_Copy_Surface_Driver::~Fl_Quartz_Copy_Surface_Driver() {
|
|
||||||
// that code is implemented in Fl_cocoa.mm because it uses some Objective-c
|
|
||||||
Fl_X::complete_copy_pdf_and_tiff(gc, pdfdata);
|
|
||||||
}
|
|
||||||
|
|
||||||
void Fl_Quartz_Copy_Surface_Driver::set_current() {
|
void Fl_Quartz_Copy_Surface_Driver::set_current() {
|
||||||
driver()->gc(gc);
|
driver()->gc(gc);
|
||||||
fl_window = (Window)1;
|
fl_window = (Window)1;
|
||||||
|
Loading…
Reference in New Issue
Block a user