More device and driver setup.

- building the base structure to have a screen driver, a window driver, and a system driver
- still pondering over the exact implementation

git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11147 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
Matthias Melcher 2016-02-10 13:04:24 +00:00
parent 572b7fe0b8
commit 478d633620
9 changed files with 223 additions and 3 deletions

View File

@ -364,9 +364,9 @@ endif(X11_FOUND AND NOT OPTION_PRINT_SUPPORT)
#######################################################################
#######################################################################
set(FL_CFG_FILESYSTEM_SUPPORT FALSE)
set(FL_CFG_NO_FILESYSTEM_SUPPORT TRUE)
if(OPTION_FILESYSTEM_SUPPORT)
set(FL_CFG_FILESYSTEM_SUPPORT TRUE)
set(FL_CFG_NO_FILESYSTEM_SUPPORT FALSE)
endif(OPTION_FILESYSTEM_SUPPORT)
#######################################################################

View File

@ -346,7 +346,7 @@
* Do we want filename handling and a filechooser?
*/
#cmakedefine FL_CFG_FILESYSTEM_SUPPORT 1
#cmakedefine FL_CFG_NO_FILESYSTEM_SUPPORT 1
/*
* End of "$Id$".

View File

@ -202,9 +202,15 @@ elseif (APPLE)
drivers/Quartz/Fl_Quartz_Printer_Graphics_Driver.cxx
drivers/Quartz/Fl_Quartz_Graphics_Driver_arci.cxx
drivers/Quartz/Fl_Quartz_Graphics_Driver_line_style.cxx
drivers/Cocoa/Fl_Cocoa_Window_Driver.cxx
drivers/Cocoa/Fl_Cocoa_Screen_Driver.cxx
drivers/Darwin/Fl_Darwin_System_Driver.cxx
)
set(DRIVER_HEADER_FILES
drivers/Quartz/Fl_Quartz_Graphics_Driver.h
drivers/Cocoa/Fl_Cocoa_Window_Driver.h
drivers/Cocoa/Fl_Cocoa_Screen_Driver.h
drivers/Darwin/Fl_Darwin_System_Driver.h
)
else ()

View File

@ -0,0 +1,27 @@
//
// "$Id$"
//
// Definition of Apple Cocoa Screen interface.
//
// Copyright 1998-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
//
#include "../../config_lib.h"
#include "Fl_Cocoa_Screen_Driver.h"
//
// End of "$Id$".
//

View File

@ -0,0 +1,42 @@
//
// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $"
//
// Definition of Apple Cocoa Screen interface
// 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
//
/**
\file Fl_Cocoa_Screen_Driver.h
\brief Definition of Apple Cocoa Screen interface.
*/
#ifndef FL_COCOA_SCREEN_DRIVER_H
#define FL_COCOA_SCREEN_DRIVER_H
/*
Move everything here that manages the native screen interface.
There is exactly one screen driver in the system.
- screen configuration and sizes
- multiple screens
- native dialog boxes
*/
#endif // FL_COCOA_SCREEN_DRIVER_H
//
// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
//

View File

@ -0,0 +1,26 @@
//
// "$Id$"
//
// Definition of Apple Cocoa window driver.
//
// Copyright 1998-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
//
#include "../../config_lib.h"
#include "Fl_Cocoa_Window_Driver.h"
//
// End of "$Id$".
//

View File

@ -0,0 +1,50 @@
//
// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $"
//
// Definition of Apple Cocoa window 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
//
/**
\file Fl_Cocoa_Window_Driver.h
\brief Definition of Apple Cocoa window driver.
*/
#ifndef FL_COCOA_WINDOW_DRIVER_H
#define FL_COCOA_WINDOW_DRIVER_H
#include <FL/Fl_Graphics_Driver.H>
/*
Move everything here that manages the native window interface.
There is one window driver for each Fl_Window. Window drivers manage window
actions such as resizing, events, decoration, fullscreen modes, etc. . All
drawing and rendering is managed by the Surface device and the associated
graphics driver.
- window specific event handling
- window types and styles, depth, etc.
- decorations
? where do we handle the interface between OpenGL/DirectX and Cocoa/WIN32/Glx?
*/
#endif // FL_COCOA_WINDOW_DRIVER_H
//
// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
//

View File

@ -0,0 +1,26 @@
//
// "$Id$"
//
// Definition of Apple Darwin system driver.
//
// Copyright 1998-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
//
#include "../../config_lib.h"
#include "Fl_Darwin_System_Driver.h"
//
// End of "$Id$".
//

View File

@ -0,0 +1,43 @@
//
// "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $"
//
// Definition of Apple Darwin system 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
//
/**
\file Fl_Darwin_System_Driver.h
\brief Definition of Apple Darwin system driver.
*/
#ifndef FL_DARWIN_SYSTEM_DRIVER_H
#define FL_DARWIN_SYSTEM_DRIVER_H
/*
Move everything here that manages the system interface.
There is excatly one system driver.
- filename and pathname management
- directory and file access
- system time and system timer
- multithreading
*/
#endif // FL_DARWIN_SYSTEM_DRIVER_H
//
// End of "$Id: quartz.H 11017 2016-01-20 21:40:12Z matt $".
//