embed standard resources, part 1
|
@ -48,7 +48,7 @@
|
|||
<otherDMD>0</otherDMD>
|
||||
<program>$(DMDInstallDir)windows\bin\dmd.exe</program>
|
||||
<imppath>3rdparty ../DerelictGL3/source ../DerelictUtil/source ../DerelictFT/source ../de_image/source/interfaces ../de_image/source/png $(SolutionDir)/../dlib</imppath>
|
||||
<fileImppath />
|
||||
<fileImppath>$(SolutionDir)/views $(SolutionDir)/views/res $(SolutionDir)/views/res/i18n $(SolutionDir)/views/res/mdpi</fileImppath>
|
||||
<outdir>$(ConfigurationName)</outdir>
|
||||
<objdir>$(OutDir)</objdir>
|
||||
<objname />
|
||||
|
@ -66,7 +66,7 @@
|
|||
<debuglevel>0</debuglevel>
|
||||
<debugids>DebugFocus</debugids>
|
||||
<versionlevel>0</versionlevel>
|
||||
<versionids>Unicode USE_SDL USE_OPENGL</versionids>
|
||||
<versionids>EmbedStandardResources Unicode USE_SDL USE_OPENGL </versionids>
|
||||
<dump_source>0</dump_source>
|
||||
<mapverbosity>0</mapverbosity>
|
||||
<createImplib>1</createImplib>
|
||||
|
|
|
@ -191,6 +191,6 @@
|
|||
<filesToClean>*.obj;*.cmd;*.build;*.json;*.dep</filesToClean>
|
||||
</Config>
|
||||
<Folder name="helloworld">
|
||||
<File path="src/app.d" />
|
||||
<File path="src/helloworld.d" />
|
||||
</Folder>
|
||||
</DProject>
|
||||
|
|
|
@ -33,9 +33,50 @@ import dlangui.core.logger;
|
|||
import std.file;
|
||||
import std.algorithm;
|
||||
import std.xml;
|
||||
import std.algorithm;
|
||||
import std.conv;
|
||||
import std.string;
|
||||
import std.path;
|
||||
|
||||
struct EmbeddedResource {
|
||||
string name;
|
||||
ubyte[] data;
|
||||
}
|
||||
|
||||
struct EmbeddedResourceList {
|
||||
private EmbeddedResource[] list;
|
||||
void addResources(EmbeddedResource[] resources) {
|
||||
list ~= resources;
|
||||
}
|
||||
}
|
||||
|
||||
__gshared EmbeddedResourceList embeddedResourceList;
|
||||
|
||||
EmbeddedResource[] embedResource(string resourceName)() {
|
||||
static if ((baseName(resourceName)).length > 0)
|
||||
return [EmbeddedResource(resourceName, cast(ubyte[])import(baseName(resourceName)))];
|
||||
else
|
||||
return [];
|
||||
}
|
||||
|
||||
/// embed all resources from list
|
||||
EmbeddedResource[] embedResources(string[] resourceNames)() {
|
||||
static if (resourceNames.length == 0)
|
||||
return [];
|
||||
else
|
||||
return embedResource!(resourceNames[0])() ~ embedResources!(resourceNames[1..$])();
|
||||
}
|
||||
|
||||
/// embed all resources from list
|
||||
EmbeddedResource[] embedResourcesFromList(string resourceList)() {
|
||||
return embedResources!(split(import(resourceList), "\n"))();
|
||||
}
|
||||
|
||||
|
||||
__gshared static this() {
|
||||
version (EmbedStandardResources) {
|
||||
embeddedResourceList.addResources(embedResourcesFromList!("standard_resources.list")());
|
||||
}
|
||||
}
|
||||
|
||||
class Drawable : RefCountedObject {
|
||||
//private static int _instanceCount;
|
||||
|
|
|
@ -845,14 +845,16 @@ version (Windows) {
|
|||
/// put "mixin APP_ENTRY_POINT;" to main module of your dlangui based app
|
||||
mixin template APP_ENTRY_POINT() {
|
||||
version (linux) {
|
||||
//pragma(lib, "png");
|
||||
pragma(lib, "xcb");
|
||||
pragma(lib, "xcb-shm");
|
||||
pragma(lib, "xcb-image");
|
||||
pragma(lib, "xcb-keysyms");
|
||||
pragma(lib, "X11-xcb");
|
||||
pragma(lib, "X11");
|
||||
pragma(lib, "dl");
|
||||
version (USE_XCB) {
|
||||
//pragma(lib, "png");
|
||||
pragma(lib, "xcb");
|
||||
pragma(lib, "xcb-shm");
|
||||
pragma(lib, "xcb-image");
|
||||
pragma(lib, "xcb-keysyms");
|
||||
pragma(lib, "X11-xcb");
|
||||
pragma(lib, "X11");
|
||||
pragma(lib, "dl");
|
||||
}
|
||||
}
|
||||
|
||||
/// workaround for link issue when WinMain is located in library
|
||||
|
|
Before ![]() (image error) Size: 1.6 KiB After ![]() (image error) Size: 1.6 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.8 KiB After ![]() (image error) Size: 1.8 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.2 KiB After ![]() (image error) Size: 1.2 KiB ![]() ![]() |
Before ![]() (image error) Size: 347 B After ![]() (image error) Size: 347 B ![]() ![]() |
Before ![]() (image error) Size: 1.9 KiB After ![]() (image error) Size: 1.9 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.6 KiB After ![]() (image error) Size: 1.6 KiB ![]() ![]() |
Before ![]() (image error) Size: 2.2 KiB After ![]() (image error) Size: 2.2 KiB ![]() ![]() |
Before ![]() (image error) Size: 215 B After ![]() (image error) Size: 215 B ![]() ![]() |
Before ![]() (image error) Size: 191 B After ![]() (image error) Size: 191 B ![]() ![]() |
Before ![]() (image error) Size: 189 B After ![]() (image error) Size: 189 B ![]() ![]() |
Before ![]() (image error) Size: 208 B After ![]() (image error) Size: 208 B ![]() ![]() |
Before ![]() (image error) Size: 154 B After ![]() (image error) Size: 154 B ![]() ![]() |
Before ![]() (image error) Size: 2.8 KiB After ![]() (image error) Size: 2.8 KiB ![]() ![]() |
Before ![]() (image error) Size: 360 B After ![]() (image error) Size: 360 B ![]() ![]() |
Before ![]() (image error) Size: 241 B After ![]() (image error) Size: 241 B ![]() ![]() |
Before ![]() (image error) Size: 353 B After ![]() (image error) Size: 353 B ![]() ![]() |
Before ![]() (image error) Size: 593 B After ![]() (image error) Size: 593 B ![]() ![]() |
Before ![]() (image error) Size: 514 B After ![]() (image error) Size: 514 B ![]() ![]() |
Before ![]() (image error) Size: 376 B After ![]() (image error) Size: 376 B ![]() ![]() |
Before ![]() (image error) Size: 516 B After ![]() (image error) Size: 516 B ![]() ![]() |
Before ![]() (image error) Size: 528 B After ![]() (image error) Size: 528 B ![]() ![]() |
Before ![]() (image error) Size: 532 B After ![]() (image error) Size: 532 B ![]() ![]() |
Before ![]() (image error) Size: 582 B After ![]() (image error) Size: 582 B ![]() ![]() |
Before ![]() (image error) Size: 557 B After ![]() (image error) Size: 557 B ![]() ![]() |
Before ![]() (image error) Size: 466 B After ![]() (image error) Size: 466 B ![]() ![]() |
Before ![]() (image error) Size: 476 B After ![]() (image error) Size: 476 B ![]() ![]() |
Before ![]() (image error) Size: 469 B After ![]() (image error) Size: 469 B ![]() ![]() |
Before ![]() (image error) Size: 354 B After ![]() (image error) Size: 354 B ![]() ![]() |
Before ![]() (image error) Size: 461 B After ![]() (image error) Size: 461 B ![]() ![]() |
Before ![]() (image error) Size: 412 B After ![]() (image error) Size: 412 B ![]() ![]() |
Before ![]() (image error) Size: 537 B After ![]() (image error) Size: 537 B ![]() ![]() |
Before ![]() (image error) Size: 584 B After ![]() (image error) Size: 584 B ![]() ![]() |
Before ![]() (image error) Size: 583 B After ![]() (image error) Size: 583 B ![]() ![]() |
Before ![]() (image error) Size: 601 B After ![]() (image error) Size: 601 B ![]() ![]() |
Before ![]() (image error) Size: 584 B After ![]() (image error) Size: 584 B ![]() ![]() |
Before ![]() (image error) Size: 632 B After ![]() (image error) Size: 632 B ![]() ![]() |
Before ![]() (image error) Size: 625 B After ![]() (image error) Size: 625 B ![]() ![]() |
Before ![]() (image error) Size: 644 B After ![]() (image error) Size: 644 B ![]() ![]() |
Before ![]() (image error) Size: 632 B After ![]() (image error) Size: 632 B ![]() ![]() |
Before ![]() (image error) Size: 1.6 KiB After ![]() (image error) Size: 1.6 KiB ![]() ![]() |
Before ![]() (image error) Size: 956 B After ![]() (image error) Size: 956 B ![]() ![]() |
Before ![]() (image error) Size: 1.4 KiB After ![]() (image error) Size: 1.4 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.5 KiB After ![]() (image error) Size: 1.5 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.0 KiB After ![]() (image error) Size: 1.0 KiB ![]() ![]() |
Before ![]() (image error) Size: 220 B After ![]() (image error) Size: 220 B ![]() ![]() |
Before ![]() (image error) Size: 257 B After ![]() (image error) Size: 257 B ![]() ![]() |
Before ![]() (image error) Size: 259 B After ![]() (image error) Size: 259 B ![]() ![]() |
Before ![]() (image error) Size: 216 B After ![]() (image error) Size: 216 B ![]() ![]() |
Before ![]() (image error) Size: 1.5 KiB After ![]() (image error) Size: 1.5 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.7 KiB After ![]() (image error) Size: 1.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 1.7 KiB After ![]() (image error) Size: 1.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 652 B After ![]() (image error) Size: 652 B ![]() ![]() |
Before ![]() (image error) Size: 1.7 KiB After ![]() (image error) Size: 1.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 210 B After ![]() (image error) Size: 210 B ![]() ![]() |
Before ![]() (image error) Size: 205 B After ![]() (image error) Size: 205 B ![]() ![]() |
Before ![]() (image error) Size: 210 B After ![]() (image error) Size: 210 B ![]() ![]() |
Before ![]() (image error) Size: 210 B After ![]() (image error) Size: 210 B ![]() ![]() |
Before ![]() (image error) Size: 209 B After ![]() (image error) Size: 209 B ![]() ![]() |
Before ![]() (image error) Size: 187 B After ![]() (image error) Size: 187 B ![]() ![]() |
Before ![]() (image error) Size: 193 B After ![]() (image error) Size: 193 B ![]() ![]() |
Before ![]() (image error) Size: 540 B After ![]() (image error) Size: 540 B ![]() ![]() |
Before ![]() (image error) Size: 247 B After ![]() (image error) Size: 247 B ![]() ![]() |
Before ![]() (image error) Size: 246 B After ![]() (image error) Size: 246 B ![]() ![]() |
Before ![]() (image error) Size: 245 B After ![]() (image error) Size: 245 B ![]() ![]() |
Before ![]() (image error) Size: 249 B After ![]() (image error) Size: 249 B ![]() ![]() |
Before ![]() (image error) Size: 247 B After ![]() (image error) Size: 247 B ![]() ![]() |
Before ![]() (image error) Size: 224 B After ![]() (image error) Size: 224 B ![]() ![]() |
Before ![]() (image error) Size: 1.7 KiB After ![]() (image error) Size: 1.7 KiB ![]() ![]() |
Before ![]() (image error) Size: 374 B After ![]() (image error) Size: 374 B ![]() ![]() |
Before ![]() (image error) Size: 371 B After ![]() (image error) Size: 371 B ![]() ![]() |
Before ![]() (image error) Size: 378 B After ![]() (image error) Size: 378 B ![]() ![]() |
Before ![]() (image error) Size: 353 B After ![]() (image error) Size: 353 B ![]() ![]() |
Before ![]() (image error) Size: 371 B After ![]() (image error) Size: 371 B ![]() ![]() |
Before ![]() (image error) Size: 142 B After ![]() (image error) Size: 142 B ![]() ![]() |
Before ![]() (image error) Size: 138 B After ![]() (image error) Size: 138 B ![]() ![]() |
Before ![]() (image error) Size: 1.1 KiB After ![]() (image error) Size: 1.1 KiB ![]() ![]() |
Before ![]() (image error) Size: 2.1 KiB After ![]() (image error) Size: 2.1 KiB ![]() ![]() |
Before ![]() (image error) Size: 2.1 KiB After ![]() (image error) Size: 2.1 KiB ![]() ![]() |
Before ![]() (image error) Size: 266 B After ![]() (image error) Size: 266 B ![]() ![]() |