Multi screen support

Revision as of 00:18, 14 June 2006 by Dartzki (Talk | contribs) (To do)


Overview

The aim of this project is to enhance Vision with a support for multiple screens.

Eiffel Studio

  • the fully working estudio build is:

Eiffel57_0826

what you got to do:

  • install MS C Compiler as shown in:

Windows_32-bit_C_compiler

Important: use the standart install-directories !!

  • set the environment variables as follows (if you use the english version of widows you have to change the 'Programme' to 'Program Files')

set PATH=C:\Programme\Microsoft.NET\SDK\v2.0\Bin;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727;C:\Programme\Microsoft Platform SDK\bin;C:\Programme\Microsoft Visual Studio 8\VC\bin;C:\Programme\Microsoft Visual Studio 8\Common7\IDE;C:\Programme\Microsoft Visual Studio 8\VC\vcpackages;C:\Programme\Microsoft Platform SDK\Bin;C:\Programme\Microsoft Visual Studio 8\VC\bin;%PATH%

set INCLUDE=ude\crt;C:\Programme\Microsoft Platform SDK\Include\crt\sys;C:\Programme\Microsoft Platform SDK\Include\mfc;C:\Programme\Microsoft Platform SDK\Include\atl;C:\Programme\Microsoft Visual Studio 8\VC\include

set LIB=C:\Programme\Microsoft.NET\SDK\v2.0\Lib;C:\Programme\Microsoft Platform SDK\Lib;C:\Programme\Microsoft Visual Studio 8\VC\lib

  • install the Eiffel Studio build

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


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

class EV_SCREEN:

  • allscreenslist [EV_MULTISCREEN]
  • primaryscreen : EV_MULTISCREEN

class EV_MULTISCREEN (inherits EV_SCREEN):

  • create class
  • redefine inherited features for mutliscreen as needed

class EV_SCREEN_IMP (inherits EV_SCREEN_I):

  • add multiscreen features as needed

class EV_SCREEN_I:

  • add new deferred features from EV_SCREEN_IMP

class GDK_EXTERNALS:

  • add multiscreen features as needed

Milestones

M1: June 1st

  • needed gdk features
  • decide upon implementation

M2: May ???

  • To be completed by the team

To do

  • Fabio:
    • find needed WEL features (and underlying routines - WIN32 API)
    • create svn-dir (done. see resources)
    • look at Win32API and get dummy prog to work (see resources)


  • Pascal:
    • look at Win32API and get dummy prog to work (see resources)


  • Pawi
    • find out how to do the docu


  • Dario
    • find out how works 'external' (done. works under linux)
    • create Class EV_MULTISCREEN (inherits EV_SCREEN)
    • look at Win32API and get dummy prog to work (see resources)

Team

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