Difference between revisions of "Multi screen support"
(→To do) |
(→Eiffel Studio) |
||
Line 6: | Line 6: | ||
=Eiffel Studio= | =Eiffel Studio= | ||
− | * | + | * I'll give you here a step for step instruction at how I got a vision2 project to work under windows |
− | + | ||
− | + | === Download === | |
− | * | + | * build 59623 from [http://eiffelsoftware.origo.ethz.ch/downloads/builds/ cur Eiffel builds] [http://eiffelsoftware.origo.ethz.ch/downloads/old_releases/ old Eiffel builds] |
− | [http://eiffelsoftware.origo.ethz.ch/ | + | * If you don't already have it installed: |
+ | [http://download.microsoft.com/download/a/5/f/a5f0d781-e201-4ab6-8c6a-9bb4efed1e1a/PSDK-x86.exe MS Platform SDK] | ||
+ | [http://www.microsoft.com/downloads/details.aspx?FamilyID=0856eacb-4362-4b0d-8edd-aab15c5e04f5&DisplayLang=en Microsoft .NET Framework Version 2.0 Redistributable Package (x86)] | ||
+ | [http://download.microsoft.com/download/c/4/b/c4b15d7d-6f37-4d5a-b9c6-8f07e7d46635/setup.exe .NET 2.0 SDK for x86] | ||
+ | * [http://www.cygwin.com/ cygwin with bash] | ||
− | + | === How I chose the Directories (just change everywhere I use them adequatly) ==== | |
+ | * C:\Eiffel57\ - Eiffel instal directory | ||
+ | * C:\Eiffel57\soft-arch\ - svn checkout | ||
+ | * C:\Program Files\Microsoft.NET\ - Microsoft.NET Framework | ||
+ | * C:\Program Files\Microsoft Platform SDK\ - Microsoft Platform SDK | ||
+ | * C:\cygwin\ - Cygwin Installation | ||
− | * | + | === needed SVN checkout === |
+ | * https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/Src into C:\Eiffel57\soft-arch\ | ||
+ | * https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/Delivery into C:\Eiffel57\soft-arch\Delivery | ||
+ | * https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/free_add_ons into C:\Eiffel57\soft-arch\free_add_ons | ||
− | + | === Install Gobo === | |
+ | '''DOS''' | ||
+ | <pre>cd %EIFFEL_SRC%\library | ||
+ | tar xvfz %EIFFEL_SRC%\free_add_ons\gobo\gobo_34_win.tgz | ||
+ | </pre> | ||
− | + | '''Bash''' | |
+ | <pre>cd $EIFFEL_SRC/library | ||
+ | tar xvzf $EIFFEL_SRC/free_add_ons/gobo/gobo_34_win.tgz | ||
+ | </pre> | ||
− | + | === set Environment Variables === | |
− | + | {{block|set '''PATH'''<nowiki>=</nowiki>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%''';C:\cygwin\bin}} | |
+ | |||
+ | {{block|set '''INCLUDE'''<nowiki>=</nowiki>C:\Programme\Microsoft.NET\SDK\v2.0\include;C:\Programme\Microsoft Platform SDK\Include;C:\Programme\Microsoft Platform SDK\Include\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}} | ||
+ | |||
+ | {{block|set '''LIB'''<nowiki>=</nowiki>C:\Programme\Microsoft.NET\SDK\v2.0\Lib;C:\Programme\Microsoft Platform SDK\Lib;C:\Programme\Microsoft Visual Studio 8\VC\lib;}} | ||
+ | |||
+ | |||
+ | {{block|set '''ISE_EIFFEL'''<nowiki>=</nowiki>C:\Eiffel57\}} | ||
+ | This last Variables I'm not sure are needed... | ||
+ | {{block|set '''EIFFEL_SRC'''<nowiki>=</nowiki>C:\Eiffel57\soft-arch\}} | ||
+ | {{block|set '''ISE_PLATFORM'''<nowiki>=</nowiki>windows}} | ||
+ | {{block|set '''ISE_C_COMPILER'''<nowiki>=</nowiki>msc}} | ||
=Resources= | =Resources= |
Revision as of 02:09, 15 June 2006
Contents
Overview
The aim of this project is to enhance Vision with a support for multiple screens.
Eiffel Studio
- I'll give you here a step for step instruction at how I got a vision2 project to work under windows
Download
- build 59623 from cur Eiffel builds old Eiffel builds
- If you don't already have it installed:
MS Platform SDK Microsoft .NET Framework Version 2.0 Redistributable Package (x86) .NET 2.0 SDK for x86
How I chose the Directories (just change everywhere I use them adequatly) =
- C:\Eiffel57\ - Eiffel instal directory
- C:\Eiffel57\soft-arch\ - svn checkout
- C:\Program Files\Microsoft.NET\ - Microsoft.NET Framework
- C:\Program Files\Microsoft Platform SDK\ - Microsoft Platform SDK
- C:\cygwin\ - Cygwin Installation
needed SVN checkout
- https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/Src into C:\Eiffel57\soft-arch\
- https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/Delivery into C:\Eiffel57\soft-arch\Delivery
- https://eiffelsoftware.origo.ethz.ch/svn/es/branches/soft-arch/free_add_ons into C:\Eiffel57\soft-arch\free_add_ons
Install Gobo
DOS
cd %EIFFEL_SRC%\library tar xvfz %EIFFEL_SRC%\free_add_ons\gobo\gobo_34_win.tgz
Bash
cd $EIFFEL_SRC/library tar xvzf $EIFFEL_SRC/free_add_ons/gobo/gobo_34_win.tgz
set Environment Variables
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%;C:\cygwin\bin
set INCLUDE=C:\Programme\Microsoft.NET\SDK\v2.0\include;C:\Programme\Microsoft Platform SDK\Include;C:\Programme\Microsoft Platform SDK\Include\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;
set ISE_EIFFEL=C:\Eiffel57\
This last Variables I'm not sure are needed...
set EIFFEL_SRC=C:\Eiffel57\soft-arch\
set ISE_PLATFORM=windows
set ISE_C_COMPILER=msc
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
- 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
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