|
|
| 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
| | [http://eiffelsoftware.origo.ethz.ch/index.php/Multi_screen_support_build_install Step by Step build installation] |
| | |
| === 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]
| |
| * 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
| |
| | |
| === 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\}}
| |
| These 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}}
| |
| | |
| === Install needed Applications (see also directories above) ===
| |
| * install MS Platform SDK, MS .NET Framework, .NET SDK
| |
| * install cygwin
| |
| * install Eiffel build
| |
| | |
| === 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>
| |
| | |
| === Compile Libraries ===
| |
| * Preparation:
| |
| rename C:\Eiffel57\soft-arch\C\CONFIGS\windows-msc-x86 to 'windows-msc-x86 old'
| |
| download [http://origo.ethz.ch/pipermail/es-devel/attachments/20060424/e5afb9a9/windows-msc-x86-2005.obj windows-msc-x86-2005.obj] into C:\Eiffel57\soft-arch\C\CONFIGS\ and rename it to windows-msc-x86
| |
| | |
| * Compilation:
| |
| ** Compiling run-time
| |
| | |
| '''DOS'''
| |
| <pre>cd %EIFFEL_SRC%/C
| |
| configure win32 m</pre>
| |
| | |
| '''Bash'''
| |
| <pre>cd $EIFFEL_SRC/C
| |
| ./configure.bat win32 m</pre>
| |
| If you are using a 64Bit Machine change the win32 to win64
| |
| | |
| | |
| On Windows 32 bits to clean up all the generated files you do:
| |
| '''DOS'''
| |
| <pre>configure clean</pre>
| |
| '''Bash'''
| |
| <pre>./configure.bat clean</pre>
| |
| | |
| ** Compiling C code from libraries
| |
| '''DOS'''
| |
| <pre>cd %EIFFEL_SRC%/library/net/Clib
| |
| make_msc.bat
| |
| cd %EIFFEL_SRC%/library/vision2/Clib
| |
| make_msc.bat
| |
| cd %EIFFEL_SRC%/library/wel/Clib
| |
| make_msc.bat</pre>
| |
| '''Bash'''
| |
| <pre>cd $EIFFEL_SRC/library/net/Clib
| |
| ./make_msc.bat
| |
| cd $EIFFEL_SRC/library/vision2/Clib
| |
| ./make_msc.bat
| |
| cd $EIFFEL_SRC/library/wel/Clib
| |
| ./make_msc.bat</pre>
| |
| | |
| ** Compiling C code from C_library
| |
| '''DOS'''
| |
| <pre>cd %EIFFEL_SRC%/C_library/zlib
| |
| make_msc.bat
| |
| cd %EIFFEL_SRC%/C_library/libpng
| |
| make_msc.bat</pre>
| |
| '''Bash'''
| |
| <pre>cd $EIFFEL_SRC/C_library/zlib
| |
| ./make_msc.bat
| |
| cd $EIFFEL_SRC/C_library/libpng
| |
| ./make_msc.bat</pre>
| |
| | |
| | |
| ** Compiling C code from compiler
| |
| '''DOS'''
| |
| <pre>cd %EIFFEL_SRC%/Eiffel/library/cli_writer/Clib
| |
| nmake</pre>
| |
| '''Bash'''
| |
| <pre>cd $EIFFEL_SRC/Eiffel/library/cli_writer/Clib
| |
| nmake</pre>
| |
| | |
| | |
| === Start Eiffel Studio ===
| |
| You should be able now to create a vision2 project and compile it !!!
| |
|
| |
|
| =Resources= | | =Resources= |
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
- Gdk - Resources:
- class GdkDisplay
- class GdkScreen
- 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 (take a look at Doc builder)
- 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