Difference between revisions of "Multi screen support"
 (→To do)  | 
				 (→Resources)  | 
				||
| Line 25: | Line 25: | ||
*Win32 API - Resources:  | *Win32 API - Resources:  | ||
** look at the platform SDK under 'Win32 API'  | ** look at the platform SDK under 'Win32 API'  | ||
| − | ** Wel uses a   | + | ** Wel uses a callback function to get access to all fonts (it's pretty much the same that we have to do)  | 
*** see the [http://origo.ethz.ch/pipermail/es-ui/2006-June/000016.html mail from manu] (see also the following mails)  | *** see the [http://origo.ethz.ch/pipermail/es-ui/2006-June/000016.html mail from manu] (see also the following mails)  | ||
*** in the SDK you find the EnumFontFamilies function under 'Graphics Device Interface' -> 'Fonts and Text' -> '... Reference' -> '... Functions'  | *** in the SDK you find the EnumFontFamilies function under 'Graphics Device Interface' -> 'Fonts and Text' -> '... Reference' -> '... Functions'  | ||
Revision as of 23:29, 25 June 2006
Contents
Overview
The aim of this project is to enhance Vision with a support for multiple screens.
Eiffel Studio
Step by Step build installation
Resources
- In order to be able to change the library code you have to delete the 'readonly="True"' in the library tags of the project's acex file or just click on the project settings in the Eiffel Studio and change it there.
 
- Gdk - Resources:
- class GdkDisplay
 - class GdkScreen
 
 
- WEL - Resources:
- NONE
 
 
- Win32 API - Resources:
- look at the platform SDK under 'Win32 API'
 -  Wel uses a callback function to get access to all fonts (it's pretty much the same that we have to do)
- see the mail from manu (see also the following mails)
 - in the SDK you find the EnumFontFamilies function under 'Graphics Device Interface' -> 'Fonts and Text' -> '... Reference' -> '... Functions'
 - look at %Eiffel%\library\wel\clib\enumfold.c
 - look at class wel_font_family_enumerator - especially at feature cwin_enum_font_families
 
 
 
- Team SVN Rep: You need to backup and remove the directories 'vison2' and 'wel' in your '/Eiffel57/library/' directory and run a svn checkout from https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/TeamMultiScreenSupport .
 
Implementation
Vision2
class EV_SCREEN:
- allscreenslist [EV_MONITOR]
 - primaryscreen : EV_MONITOR
 
class EV_MONITOR:
- create class
 - width, height, vertical_resolution, horzintal_resolution
 - monitor_at_position (pos: EV_COORDINATE): INTEGER
 - get_global_coordinate (pos: EV_COORDINATE; screen_nr: INTEGER): EV_COORDINATE
 
class EV_MONITOR_IMP :
- add multiscreen features as needed
 - Windows: is client of WEL_MONITORS_DC
 
class EV_MONITOR_I:
- add new deferred features from EV_MONITOR_IMP
 
class GDK_EXTERNALS:
- add multiscreen features as needed
 
Wel
class WEL_MONITOR_ENUMERATOR:
- deferred feature action
 - accesses C functions to enumerate all monitors
 
class WEL_MONITORS_DC (inherits: WEL_MONITOR_ENUMERATOR):
- defines deferred feature action from WEL_MONITOR_ENUMERATOR
 - gives acces to the DC of all monitors
 
Milestones
M1: June 1st
- needed gdk features
 - decide upon implementation
 
M2: May ???
- To be completed by the team
 
To do
- Fabio:
- create svn-dir -> 100%
 - install EiffelStudio 5.7 and get dummy prog to work (see resources) -> 80%
 - look at Win32API -> 0%
 - find needed WEL features (and underlying routines - WIN32 API) -> 0%
 
 
- Pascal:
- look at Win32API and get dummy prog to work (see resources)
 
 
- Pawi
- find out how to do the docu (take a look at Doc builder)
 
 
- Dario
- find out how works 'external' (done.)
 - create Class EV_MONITOR(inherits EV_SCREEN) (done; see svn)
 - implement linux version of EV_MONITOR_IMP (done.)
 
 
Team
Everyone interested in this project is welcome to join our mailinglist es-ui@origo.ethz.ch

