update Mono-D linux projects, X11 backend support

This commit is contained in:
Vadim Lopatin 2015-12-02 12:30:19 +03:00
parent f691ec7bb3
commit 33b640f33f
4 changed files with 235 additions and 31 deletions

View File

@ -11,6 +11,8 @@ Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "tetris-monod-linux", "examp
EndProject
Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "dmledit-monod-linux", "examples\dmledit\dmledit-monod-linux.dproj", "{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}"
EndProject
Project("{3947E667-4C90-4C3A-BEB9-7148D6FE0D7C}") = "spreadsheet-monod-linux", "examples\spreadsheet\spreadsheet-monod-linux.dproj", "{5BD82AA8-4026-44C2-8957-B4E2932542F0}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -28,8 +30,8 @@ Global
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.Release|Any CPU.Build.0 = Release|Any CPU
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.Release|Any CPU.ActiveCfg = Release|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.Release|Any CPU.Build.0 = Release|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{075C374A-563A-4CAC-9E9F-0B6E1DFEAEC3}.Unittest|Any CPU.ActiveCfg = Unittest|x64
@ -42,8 +44,8 @@ Global
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.Release|Any CPU.ActiveCfg = Release|Any CPU
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.Release|Any CPU.Build.0 = Release|Any CPU
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.Release|Any CPU.ActiveCfg = Release|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.Release|Any CPU.Build.0 = Release|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{0A3A0D08-E4DC-418E-B92B-561CC91C2306}.Unittest|Any CPU.ActiveCfg = Unittest|x64
@ -56,22 +58,36 @@ Global
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Release|Any CPU.ActiveCfg = Release|Any CPU
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Release|Any CPU.Build.0 = Release|Any CPU
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Release|Any CPU.ActiveCfg = Release|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Release|Any CPU.Build.0 = Release|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Unittest|Any CPU.ActiveCfg = Unittest|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.Unittest|Any CPU.Build.0 = Unittest|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.UnittestMinimal|Any CPU.ActiveCfg = UnittestMinimal|x64
{54BDE028-6064-4CA9-B6CA-4C0BEEE70F24}.UnittestMinimal|Any CPU.Build.0 = UnittestMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Debug|Any CPU.ActiveCfg = DebugX11|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Debug|Any CPU.Build.0 = DebugX11|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.DebugMinimal|Any CPU.ActiveCfg = DebugMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Release|Any CPU.ActiveCfg = Release|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Release|Any CPU.Build.0 = Release|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Unittest|Any CPU.ActiveCfg = Unittest|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.Unittest|Any CPU.Build.0 = Unittest|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.UnittestMinimal|Any CPU.ActiveCfg = UnittestMinimal|x64
{5BD82AA8-4026-44C2-8957-B4E2932542F0}.UnittestMinimal|Any CPU.Build.0 = UnittestMinimal|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Debug|Any CPU.ActiveCfg = Debug|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Debug|Any CPU.Build.0 = Debug|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.DebugMinimal|Any CPU.ActiveCfg = DebugMinimal|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Release|Any CPU.Build.0 = Release|Any CPU
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Release|Any CPU.ActiveCfg = Release|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Release|Any CPU.Build.0 = Release|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{8E722D80-CF8D-4D98-BEAE-7BC9E6752AC4}.Unittest|Any CPU.ActiveCfg = Unittest|x64
@ -84,8 +100,8 @@ Global
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.DebugMinimal|Any CPU.Build.0 = DebugMinimal|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.DebugX11|Any CPU.ActiveCfg = DebugX11|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.DebugX11|Any CPU.Build.0 = DebugX11|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.Release|Any CPU.Build.0 = Release|Any CPU
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.Release|Any CPU.ActiveCfg = Release|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.Release|Any CPU.Build.0 = Release|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.ReleaseMinimal|Any CPU.ActiveCfg = ReleaseMinimal|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.ReleaseMinimal|Any CPU.Build.0 = ReleaseMinimal|x64
{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}.Unittest|Any CPU.ActiveCfg = Unittest|x64

View File

@ -0,0 +1,201 @@
<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x64</Platform>
<ProjectGuid>{5BD82AA8-4026-44C2-8957-B4E2932542F0}</ProjectGuid>
<Compiler>DMD2</Compiler>
<PreferOneStepBuild>true</PreferOneStepBuild>
<UseDefaultCompiler>true</UseDefaultCompiler>
<IncrementalLinking>true</IncrementalLinking>
<Includes>
<Includes>
<Path>../../src</Path>
<Path>../../deps/dlib</Path>
<Path>../../deps/gl3n</Path>
<Path>../../deps/DerelictSDL2/source</Path>
<Path>../../deps/DerelictFT/source</Path>
<Path>../../deps/DerelictGL3/source</Path>
<Path>../../deps/DerelictUtil/source</Path>
</Includes>
</Includes>
<DependentProjectIds>
<DependentProjectIds>
<String>{A38BEF21-AAFE-4115-A978-63B7C8C2FBD1}</String>
</DependentProjectIds>
</DependentProjectIds>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<ObjectsDirectory>obj/Debug</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<UnittestMode>false</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_OPENGL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>bin\Release</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_OPENGL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Release</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<UnittestMode>false</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Unittest|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Unittest</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_OPENGL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Unittest</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<UnittestMode>true</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugMinimal|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Debug</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
<UnittestMode>false</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'ReleaseMinimal|x64' ">
<OutputPath>bin\Release</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Release</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
<UnittestMode>false</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'UnittestMinimal|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Unittest</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_SDL</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Unittest</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
<UnittestMode>true</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DebugX11|x64' ">
<DebugSymbols>true</DebugSymbols>
<OutputPath>bin\Debug</OutputPath>
<VersionIds>
<VersionIds>
<String>USE_X11</String>
<String>USE_FREETYPE</String>
<String>EmbedStandardResources</String>
</VersionIds>
</VersionIds>
<ObjectsDirectory>obj/Debug</ObjectsDirectory>
<LinkinThirdPartyLibraries>true</LinkinThirdPartyLibraries>
<ExtraCompilerArguments>-Jviews
-Jviews/res
-Jviews/res/hdpi
-Jviews/res/mdpi
-Jviews/res/i18n
</ExtraCompilerArguments>
<UnittestMode>false</UnittestMode>
<OutputName>spreadsheet-monod-linux</OutputName>
<Target>Executable</Target>
<Externalconsole>true</Externalconsole>
<DebugLevel>0</DebugLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="src\spreadsheetapp.d" />
<Compile Include="src\dlangui\widgets\spreadsheet.d" />
</ItemGroup>
</Project>

View File

@ -46,6 +46,8 @@ class SpreadSheetView : StringGridWidget {
super(ID);
layoutWidth = FILL_PARENT;
layoutHeight = FILL_PARENT;
defRowHeight = 14;
defColumnWidth = 80;
styleId = null;
backgroundColor = 0xFFFFFF;
resize(50, 50);

View File

@ -701,15 +701,10 @@ class X11Platform : Platform {
bool handleTimers() {
bool handled = false;
bool needRestart = true;
while (needRestart) {
needRestart = false;
foreach(w; _windowMap) {
if (w.handleTimer()) {
needRestart = true;
handled = true;
break;
}
foreach(w; _windowMap) {
if (w.handleTimer()) {
handled = true;
break;
}
}
return handled;
@ -734,7 +729,8 @@ class X11Platform : Platform {
/* get the next event and stuff it into our event variable.
Note: only events we set the mask for are detected!
*/
if (!XPending(x11display) && !handleTimers()) {
handleTimers();
if (!XPending(x11display)) {
Thread.sleep(dur!("msecs")(10));
continue;
}
@ -805,17 +801,6 @@ class X11Platform : Platform {
} else {
Log.e("Window not found");
}
// if (XLookupString(&event.xkey, text.ptr, 255, &key, cast(XComposeStatus*)null) == 1) {
// /* use the XLookupString routine to convert the invent
// KeyPress data into regular text. Weird but necessary...
// */
// if (text[0]=='q') {
// finished = true;
// break;
// //close_x();
// }
// Log.d("You pressed the key", text[0]);
// }
break;
case KeyRelease:
Log.d("X11: KeyRelease event");