Difference between revisions of "Multi screen support"

(To do)
(To do)
Line 81: Line 81:
 
=To do=
 
=To do=
 
*Fabio:
 
*Fabio:
**find needed WEL features (and underlying routines - WIN32 API)
+
**create svn-dir                                                           -> 100%
**create svn-dir (done. see resources)
+
**install EiffelStudio 5.7 and get dummy prog to work (see resources)       ->  65%
**look at Win32API and get dummy prog to work (see resources)
+
**look at Win32API                                                          ->  0%
 +
**find needed WEL features (and underlying routines - WIN32 API)            ->  0%
  
  

Revision as of 13:37, 20 June 2006


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 loopback 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


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) -> 65%
    • 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

Team

Everyone interested in this project is welcome to join our mailinglist es-ui@origo.ethz.ch