1 module PixelPerfectEngine.system.systemUtility; 2 /* 3 * Copyright (C) 2015-2017, by Laszlo Szeremi under the Boost license. 4 * 5 * Pixel Perfect Engine, system.systemUtility module 6 */ 7 8 public immutable dstring engineVer = "0.9.4"; ///Defines engine version 9 public immutable dstring sdlVer = "2.0.5"; ///Defines SDL version 10 version(X86){ 11 public immutable dstring sysInfo = "x86"; ///Defines what CPU architecture the software is being built for. 12 }else version(X86_64){ 13 public immutable dstring sysInfo = "AMD86"; 14 }else version(ARM){ 15 public immutable dstring sysInfo = "ARMv8"; 16 }else version(AArch64){ 17 public immutable dstring sysInfo = "AArch64"; 18 }else{ 19 public immutable dstring sysInfo = "UNDEFINED"; //Contact me or make a pull request if something needs to be added. 20 } 21 version(Windows){ 22 public immutable dstring osInfo = "Windows"; ///Defines target OS 23 }else version(linux){ 24 public immutable dstring osInfo = "Linux"; 25 }else version(OSX){ 26 public immutable dstring osInfo = "OSX"; 27 }else version(Posix){ 28 public immutable dstring osInfo = "Posix"; 29 }else{ 30 public immutable dstring osInfo = "UNDEFINED"; 31 } 32 version(X86){ 33 version(NO_SSE2){ 34 public immutable dstring renderInfo = "CPUBLiT/MMX"; 35 }else{ 36 public immutable dstring renderInfo = "CPUBLiT/SSE2"; ///Renderer information. 37 } 38 }else version(X86_64){ 39 version(USE_AVX){ 40 public immutable dstring renderInfo = "CPUBLiT/AVX"; 41 }else{ 42 public immutable dstring renderInfo = "CPUBLiT/SSE2"; 43 } 44 }else version(ARM){ 45 version(NEON){ 46 public immutable dstring renderInfo = "CPUBLiT/NEON"; 47 }else{ 48 public immutable dstring renderInfo = "Slow"; 49 } 50 }else version(AArch64){ 51 version(NEON){ 52 public immutable dstring renderInfo = "CPUBLiT/NEON"; 53 }else{ 54 public immutable dstring renderInfo = "Slow"; 55 } 56 }else{ 57 public immutable dstring renderInfo = "Slow"; 58 } 59 60 61 import PixelPerfectEngine.concrete.window; 62 import PixelPerfectEngine.system.file; 63 import PixelPerfectEngine.extbmp.extbmp; 64 /** 65 * Loads the defaults for Concrete. 66 */ 67 public void INIT_CONCRETE(WindowHandler wh){ 68 import PixelPerfectEngine.concrete.window; 69 import PixelPerfectEngine.system.file; 70 import PixelPerfectEngine.extbmp.extbmp; 71 import PixelPerfectEngine.graphics.fontsets; 72 import PixelPerfectEngine.graphics.bitmap; 73 import std.stdio; 74 Fontset!Bitmap8Bit defaultFont = new Fontset!Bitmap8Bit(File("../system/OpenSans-reg-14.fnt"), "../system/"); 75 Fontset!Bitmap8Bit fixedWidthFont = new Fontset!Bitmap8Bit(File("../system/scp-14-reg.fnt"), "../system/"); 76 ExtendibleBitmap ssOrigin = new ExtendibleBitmap("../system/sysdef.xmp"); 77 StyleSheet ss = new StyleSheet(); 78 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI0"),"closeButtonA"); 79 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI1"),"closeButtonB"); 80 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI0"),"checkBoxA"); 81 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI1"),"checkBoxB"); 82 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI2"),"radioButtonA"); 83 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI3"),"radioButtonB"); 84 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI4"),"upArrowA"); 85 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI5"),"upArrowB"); 86 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI6"),"downArrowA"); 87 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI7"),"downArrowB"); 88 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI8"),"plusA"); 89 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUI9"),"plusB"); 90 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUIA"),"minusA"); 91 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUIB"),"minusB"); 92 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUIC"),"leftArrowA"); 93 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUID"),"leftArrowB"); 94 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUIE"),"rightArrowA"); 95 ss.setImage(loadBitmapFromXMP!Bitmap8Bit(ssOrigin,"GUIF"),"rightArrowB"); 96 ss.addFontset(defaultFont, "OpenSans"); 97 //ss.addFontset(defaultFont, "SourceCodePro"); 98 ss.addFontset(fixedWidthFont, "SourceCodePro"); 99 wh.defaultStyle = ss; 100 Window.defaultStyle = ss; 101 WindowElement.styleSheet = ss; 102 PopUpElement.styleSheet = ss; 103 }