├── License
└── apache-2.0.txt
├── Samples
├── Delphi
│ ├── FireMonkey
│ │ └── Basic
│ │ │ ├── Basic.deployproj
│ │ │ ├── Basic.dpr
│ │ │ ├── Basic.dproj
│ │ │ ├── Basic.res
│ │ │ ├── MainFm.fmx
│ │ │ └── MainFm.pas
│ └── VCL
│ │ ├── Basic
│ │ ├── Basic.dpr
│ │ ├── Basic.dproj
│ │ ├── Basic.res
│ │ ├── MainFm.dfm
│ │ └── MainFm.pas
│ │ ├── Combustion
│ │ ├── Combustion.dpr
│ │ ├── Combustion.dproj
│ │ ├── Combustion.res
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ └── media.vtdb
│ │ ├── FullScreenApp
│ │ ├── FullScreenApp.dpr
│ │ ├── FullScreenApp.dproj
│ │ ├── FullScreenApp.res
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── SecondFm.dfm
│ │ └── SecondFm.pas
│ │ ├── Hasteroids
│ │ ├── Engine.Globals.pas
│ │ ├── Engine.Objects.pas
│ │ ├── Engine.Particles.pas
│ │ ├── Hasteroids.dpr
│ │ ├── Hasteroids.dproj
│ │ ├── Hasteroids.res
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── Scene.Objects.Ships.inc
│ │ ├── Scene.Objects.pas
│ │ ├── Scene.Scores.pas
│ │ ├── Sound.Globals.pas
│ │ ├── StartFm.dfm
│ │ ├── StartFm.pas
│ │ ├── bass.pas
│ │ └── media.asvf
│ │ ├── Networking
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── Networking.dpr
│ │ ├── Networking.dproj
│ │ └── Networking.res
│ │ ├── Plasma
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── Plasma.dpr
│ │ ├── Plasma.dproj
│ │ └── Plasma.res
│ │ ├── Shapes
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── Shapes.dpr
│ │ ├── Shapes.dproj
│ │ └── Shapes.res
│ │ └── Tunnel
│ │ ├── MainFm.dfm
│ │ ├── MainFm.pas
│ │ ├── Tunnel.dpr
│ │ ├── Tunnel.dproj
│ │ └── Tunnel.res
├── FreePascal
│ ├── Android
│ │ ├── Basic
│ │ │ ├── .classpath
│ │ │ ├── .project
│ │ │ ├── .settings
│ │ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ │ ├── Tahoma9b.font
│ │ │ │ ├── lena.tga
│ │ │ │ └── lenna.png
│ │ │ ├── gen
│ │ │ │ └── com
│ │ │ │ │ └── afterwarp
│ │ │ │ │ └── pxl_basic
│ │ │ │ │ ├── BuildConfig.java
│ │ │ │ │ └── R.java
│ │ │ ├── ic_launcher-web.png
│ │ │ ├── jni
│ │ │ │ ├── PXL_Basic.lpi
│ │ │ │ └── PXL_Basic.lpr
│ │ │ ├── libs
│ │ │ │ └── android-support-v4.jar
│ │ │ ├── proguard-project.txt
│ │ │ ├── project.properties
│ │ │ └── res
│ │ │ │ ├── drawable-hdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── drawable-mdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── drawable-xhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── drawable-xxhdpi
│ │ │ │ └── ic_launcher.png
│ │ │ │ ├── values-v11
│ │ │ │ └── styles.xml
│ │ │ │ ├── values-v14
│ │ │ │ └── styles.xml
│ │ │ │ └── values
│ │ │ │ ├── strings.xml
│ │ │ │ └── styles.xml
│ │ └── Terrain
│ │ │ ├── .classpath
│ │ │ ├── .project
│ │ │ ├── .settings
│ │ │ └── org.eclipse.jdt.core.prefs
│ │ │ ├── AndroidManifest.xml
│ │ │ ├── assets
│ │ │ ├── Segoe10.font
│ │ │ └── terrain.png
│ │ │ ├── gen
│ │ │ └── com
│ │ │ │ └── afterwarp
│ │ │ │ └── pxl_terrain
│ │ │ │ ├── BuildConfig.java
│ │ │ │ └── R.java
│ │ │ ├── ic_launcher-web.png
│ │ │ ├── jni
│ │ │ ├── Engine.Landscape.pas
│ │ │ ├── Engine.Scrolling.pas
│ │ │ ├── PXL_Terrain.lpi
│ │ │ └── PXL_Terrain.lpr
│ │ │ ├── libs
│ │ │ └── android-support-v4.jar
│ │ │ ├── proguard-project.txt
│ │ │ ├── project.properties
│ │ │ └── res
│ │ │ ├── drawable-hdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-mdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ │ ├── values-v11
│ │ │ └── styles.xml
│ │ │ ├── values-v14
│ │ │ └── styles.xml
│ │ │ └── values
│ │ │ ├── strings.xml
│ │ │ └── styles.xml
│ ├── Desktop
│ │ ├── Basic
│ │ │ ├── Basic.lpi
│ │ │ ├── Basic.lpr
│ │ │ ├── Basic.res
│ │ │ ├── MainFm.lfm
│ │ │ └── MainFm.pas
│ │ ├── BasicSoft
│ │ │ ├── BasicSoft.lpi
│ │ │ ├── BasicSoft.lpr
│ │ │ ├── BasicSoft.res
│ │ │ ├── MainFm.lfm
│ │ │ └── MainFm.pas
│ │ ├── Combustion
│ │ │ ├── Combustion.lpi
│ │ │ ├── Combustion.lpr
│ │ │ ├── Combustion.res
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ └── media.vtdb
│ │ ├── FullScreenApp
│ │ │ ├── FullScreenApp.lpi
│ │ │ ├── FullScreenApp.lpr
│ │ │ ├── FullScreenApp.res
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── SecondFm.lfm
│ │ │ └── SecondFm.pas
│ │ ├── Hasteroids
│ │ │ ├── Engine.Globals.pas
│ │ │ ├── Engine.Objects.pas
│ │ │ ├── Engine.Particles.pas
│ │ │ ├── Hasteroids.lpi
│ │ │ ├── Hasteroids.lpr
│ │ │ ├── Hasteroids.res
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── Scene.Objects.Ships.inc
│ │ │ ├── Scene.Objects.pas
│ │ │ ├── Scene.Scores.pas
│ │ │ ├── Sound.Globals.pas
│ │ │ ├── StartFm.lfm
│ │ │ ├── StartFm.pas
│ │ │ ├── bass.pas
│ │ │ └── media.asvf
│ │ ├── Networking
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── Networking.lpi
│ │ │ ├── Networking.lpr
│ │ │ └── Networking.res
│ │ ├── Plasma
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── Plasma.lpi
│ │ │ ├── Plasma.lpr
│ │ │ └── Plasma.res
│ │ ├── Shapes
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── Shapes.lpi
│ │ │ ├── Shapes.lpr
│ │ │ └── Shapes.res
│ │ └── Tunnel
│ │ │ ├── MainFm.lfm
│ │ │ ├── MainFm.pas
│ │ │ ├── Tunnel.lpi
│ │ │ ├── Tunnel.lpr
│ │ │ └── Tunnel.res
│ └── SingleBoard
│ │ ├── Galileo
│ │ ├── Blinky
│ │ │ ├── Blinky-HowToConnect-Diagram.png
│ │ │ ├── Blinky-HowToConnect-Photo.jpg
│ │ │ ├── Blinky.lpi
│ │ │ └── Blinky.lpr
│ │ ├── DisplayI2C
│ │ │ ├── DisplayI2C-HowToConnect-Diagram.png
│ │ │ ├── DisplayI2C-HowToConnect-Photo.jpg
│ │ │ ├── DisplayI2C.lpi
│ │ │ └── DisplayI2C.lpr
│ │ └── DisplaySPI
│ │ │ ├── DisplaySPI-HowToConnect-Diagram.png
│ │ │ ├── DisplaySPI-HowToConnect-Photo.jpg
│ │ │ ├── DisplaySPI-Screenshot.jpg
│ │ │ ├── DisplaySPI.lpi
│ │ │ └── DisplaySPI.lpr
│ │ ├── Generic
│ │ ├── Blinky
│ │ │ ├── Blinky-HowToConnect-Diagram.png
│ │ │ ├── Blinky-HowToConnect-Photo.jpg
│ │ │ ├── Blinky.lpi
│ │ │ └── Blinky.lpr
│ │ ├── DisplayI2C
│ │ │ ├── DisplayI2C-HowToConnect-Diagram.png
│ │ │ ├── DisplayI2C-HowToConnect-Photo.jpg
│ │ │ ├── DisplayI2C.lpi
│ │ │ └── DisplayI2C.lpr
│ │ ├── DisplaySPI
│ │ │ ├── DisplaySPI-HowToConnect-Diagram.png
│ │ │ ├── DisplaySPI-HowToConnect-Photo.jpg
│ │ │ ├── DisplaySPI-Screenshot.jpg
│ │ │ ├── DisplaySPI.lpi
│ │ │ └── DisplaySPI.lpr
│ │ ├── Networking
│ │ │ ├── Networking.lpi
│ │ │ └── Networking.lpr
│ │ ├── SerialCamera
│ │ │ ├── SerialCamera.lpi
│ │ │ └── SerialCamera.lpr
│ │ └── V4L2Camera
│ │ │ ├── V4L2Camera.lpi
│ │ │ └── V4L2Camera.lpr
│ │ ├── Media
│ │ ├── consolas.font
│ │ ├── corbel.font
│ │ ├── kristen.font
│ │ ├── lenna.png
│ │ └── tahoma8.font
│ │ └── RaspberryPI
│ │ ├── BasicOpenGL
│ │ ├── BasicOpenGL.lpi
│ │ └── BasicOpenGL.lpr
│ │ ├── Blinky
│ │ ├── Blinky-HowToConnect-Diagram.png
│ │ ├── Blinky-HowToConnect-Photo.jpg
│ │ ├── Blinky.lpi
│ │ └── Blinky.lpr
│ │ ├── DisplayI2C
│ │ ├── DisplayI2C-HowToConnect-Diagram.png
│ │ ├── DisplayI2C-HowToConnect-Photo.jpg
│ │ ├── DisplayI2C.lpi
│ │ └── DisplayI2C.lpr
│ │ ├── DisplaySPI
│ │ ├── DisplaySPI-HowToConnect-Diagram.png
│ │ ├── DisplaySPI-HowToConnect-Photo.jpg
│ │ ├── DisplaySPI-Screenshot.jpg
│ │ ├── DisplaySPI.lpi
│ │ └── DisplaySPI.lpr
│ │ └── DisplaySPIAndGPU
│ │ ├── DisplaySPIAndGPU-HowToConnect-Diagram.png
│ │ ├── DisplaySPIAndGPU-HowToConnect-Photo.jpg
│ │ ├── DisplaySPIAndGPU-Screenshot.jpg
│ │ ├── DisplaySPIAndGPU.lpi
│ │ └── DisplaySPIAndGPU.lpr
└── Media
│ ├── BookAntiqua24.font
│ ├── BookAntiqua24.png
│ ├── BookAntiqua24.xml
│ ├── Corbel.font
│ ├── Corbel.png
│ ├── Corbel.xml
│ ├── Kristen.font
│ ├── Kristen.png
│ ├── Kristen.xml
│ ├── Lenna.png
│ ├── Lenna.tga
│ ├── Scanline.png
│ ├── SphinxExampleIcon.icns
│ ├── SphinxExampleIcon.ico
│ ├── Tahoma9b.font
│ ├── Tahoma9b.png
│ ├── Tahoma9b.xml
│ ├── TempusSans.font
│ ├── TempusSans.png
│ ├── TempusSans.xml
│ ├── TranceForm.font
│ ├── TranceForm.png
│ └── TranceForm.xml
├── Shaders
├── DirectX
│ ├── CanvasSolid.ps
│ ├── CanvasTextured.ps
│ ├── CanvasTexturedA.ps
│ ├── CanvasTexturedI.ps
│ ├── CanvasTexturedL.ps
│ ├── CanvasTexturedLA.ps
│ └── CanvasVertex.vs
└── readme.txt
├── Source
├── Android.AppGlue.pas
├── Android.AssetManager.pas
├── Android.Config.inc
├── Android.Configuration.pas
├── Android.DlFcn.pas
├── Android.EGL.pas
├── Android.Extended.pas
├── Android.GLES2.pas
├── Android.Input.pas
├── Android.JniClasses.pas
├── Android.KeyCodes.pas
├── Android.LibDefs.inc
├── Android.Log.pas
├── Android.Looper.pas
├── Android.NativeActivity.pas
├── Android.NativeWindow.pas
├── Android.PThread.pas
├── Android.Rect.pas
├── Jedi.Compilers.inc
├── Jedi.Direct3D9.Types.pas
├── Jedi.Direct3D9.inc
├── Jedi.Direct3D9.pas
├── PXL.Archives.Loading.pas
├── PXL.Archives.pas
├── PXL.Bitmaps.pas
├── PXL.Boards.Galileo.pas
├── PXL.Boards.LPC11xx.pas
├── PXL.Boards.PI.BCM.pas
├── PXL.Boards.RPi.pas
├── PXL.Boards.SC16IS7x0.pas
├── PXL.Boards.Soft.pas
├── PXL.Boards.Types.pas
├── PXL.Cameras.LSY201.pas
├── PXL.Cameras.Types.pas
├── PXL.Cameras.V4L2.pas
├── PXL.Cameras.VC0706.pas
├── PXL.Canvas.DX11.Shaders.inc
├── PXL.Canvas.DX11.pas
├── PXL.Canvas.DX7.pas
├── PXL.Canvas.DX9.pas
├── PXL.Canvas.GL.GL1.pas
├── PXL.Canvas.GL.SolidPixelShader.inc
├── PXL.Canvas.GL.TexturedPixelShader.inc
├── PXL.Canvas.GL.VertexShader.inc
├── PXL.Canvas.GL.pas
├── PXL.Canvas.GLES.SolidPixelShader.inc
├── PXL.Canvas.GLES.TexturedPixelShader.inc
├── PXL.Canvas.GLES.VertexShader.inc
├── PXL.Canvas.GLES.pas
├── PXL.Canvas.SRT.pas
├── PXL.Canvas.pas
├── PXL.Classes.pas
├── PXL.Clocks.DS1307.pas
├── PXL.Config.inc
├── PXL.Consts.pas
├── PXL.Data.pas
├── PXL.Devices.Android.pas
├── PXL.Devices.DX11.pas
├── PXL.Devices.DX7.pas
├── PXL.Devices.DX9.pas
├── PXL.Devices.FM.DX11.pas
├── PXL.Devices.FM.DX9.pas
├── PXL.Devices.FM.GL.pas
├── PXL.Devices.FM.GLES.pas
├── PXL.Devices.GL.Carbon.pas
├── PXL.Devices.GL.Cocoa.pas
├── PXL.Devices.GL.Win.pas
├── PXL.Devices.GL.X.pas
├── PXL.Devices.GLES.RPi.pas
├── PXL.Devices.GLES.X.pas
├── PXL.Devices.SRT.pas
├── PXL.Devices.pas
├── PXL.Displays.HD44780.pas
├── PXL.Displays.HX8357.pas
├── PXL.Displays.ILI9340.pas
├── PXL.Displays.PCB8544.pas
├── PXL.Displays.SSD1306.pas
├── PXL.Displays.SSD1351.pas
├── PXL.Displays.Types.pas
├── PXL.Drawables.pas
├── PXL.Events.pas
├── PXL.FMBridge.pas
├── PXL.Fonts.pas
├── PXL.Formats.pas
├── PXL.ImageFormats.Auto.pas
├── PXL.ImageFormats.FCL.pas
├── PXL.ImageFormats.TGA.pas
├── PXL.ImageFormats.Vampyre.pas
├── PXL.ImageFormats.WIC.pas
├── PXL.ImageFormats.pas
├── PXL.Images.pas
├── PXL.Linux.config.inc
├── PXL.Linux.ioctl.pas
├── PXL.Linux.videodev2.pas
├── PXL.Lists.pas
├── PXL.Logs.pas
├── PXL.MicroConfig.inc
├── PXL.NetComs.pas
├── PXL.Palettes.pas
├── PXL.Providers.Auto.pas
├── PXL.Providers.DX11.pas
├── PXL.Providers.DX7.pas
├── PXL.Providers.DX9.pas
├── PXL.Providers.FM.DX11.pas
├── PXL.Providers.FM.DX9.pas
├── PXL.Providers.FM.GL.pas
├── PXL.Providers.FM.GLES.pas
├── PXL.Providers.GL.pas
├── PXL.Providers.GLES.pas
├── PXL.Providers.SRT.pas
├── PXL.Providers.pas
├── PXL.Rasterizer.SRT.pas
├── PXL.Scripts.pas
├── PXL.Sensors.BMP180.pas
├── PXL.Sensors.DHT22.pas
├── PXL.Sensors.L3GD20.pas
├── PXL.Sensors.LSM303.pas
├── PXL.Sensors.SHT10.pas
├── PXL.Sensors.Types.pas
├── PXL.Shaders.DX11.pas
├── PXL.Shaders.GL.pas
├── PXL.Shaders.GLES.pas
├── PXL.Surfaces.GDI.pas
├── PXL.Surfaces.LCL.pas
├── PXL.Surfaces.pas
├── PXL.SwapChains.DX11.pas
├── PXL.SwapChains.DX7.pas
├── PXL.SwapChains.DX9.pas
├── PXL.SwapChains.pas
├── PXL.Sysfs.ADC.pas
├── PXL.Sysfs.Buses.pas
├── PXL.Sysfs.Core.pas
├── PXL.Sysfs.GPIO.pas
├── PXL.Sysfs.I2C.pas
├── PXL.Sysfs.PWM.pas
├── PXL.Sysfs.SPI.pas
├── PXL.Sysfs.Types.pas
├── PXL.Sysfs.UART.pas
├── PXL.SystemFont.inc
├── PXL.Textures.DX11.pas
├── PXL.Textures.DX7.pas
├── PXL.Textures.DX9.pas
├── PXL.Textures.GL.pas
├── PXL.Textures.GLES.pas
├── PXL.Textures.SRT.pas
├── PXL.Textures.pas
├── PXL.Timing.pas
├── PXL.TypeDef.pas
├── PXL.Types.DX11.pas
├── PXL.Types.DX7.pas
├── PXL.Types.DX9.pas
├── PXL.Types.GL.pas
├── PXL.Types.GLES.pas
├── PXL.Types.SRT.pas
├── PXL.Types.inc
├── PXL.Types.pas
├── PXL.Windows.D3D10.pas
├── PXL.Windows.D3D11.pas
├── PXL.Windows.D3D7.pas
├── PXL.Windows.D3DCommon.pas
├── PXL.Windows.DDraw.pas
├── PXL.Windows.DXGI.pas
├── PXL.Windows.UART.pas
├── PXL.Windows.Wincodec.pas
└── PXL.XML.pas
├── Tools
└── readme.txt
└── readme.txt
/Samples/Delphi/FireMonkey/Basic/Basic.dpr:
--------------------------------------------------------------------------------
1 | program Basic;
2 |
3 | uses
4 | System.StartUpCopy,
5 | FMX.Forms,
6 | MainFm in 'MainFm.pas' {MainForm};
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/FireMonkey/Basic/Basic.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/FireMonkey/Basic/Basic.res
--------------------------------------------------------------------------------
/Samples/Delphi/FireMonkey/Basic/MainFm.fmx:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL Basic Demo'
5 | ClientHeight = 480
6 | ClientWidth = 640
7 | Position = ScreenCenter
8 | FormFactor.Width = 320
9 | FormFactor.Height = 480
10 | FormFactor.Devices = [Desktop]
11 | OnCreate = FormCreate
12 | OnDestroy = FormDestroy
13 | OnResize = FormResize
14 | OnPaint = FormPaint
15 | DesignerMasterStyle = 0
16 | object SysTimer: TTimer
17 | Interval = 1
18 | OnTimer = SysTimerTimer
19 | Left = 64
20 | Top = 80
21 | end
22 | end
23 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Basic/Basic.dpr:
--------------------------------------------------------------------------------
1 | program Basic;
2 |
3 | uses
4 | Vcl.Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.MainFormOnTaskbar := True;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Basic/Basic.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Basic/Basic.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Basic/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL Basic Demo'
5 | ClientHeight = 442
6 | ClientWidth = 624
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | Scaled = False
16 | OnCreate = FormCreate
17 | OnDestroy = FormDestroy
18 | OnResize = FormResize
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Combustion/Combustion.dpr:
--------------------------------------------------------------------------------
1 | program Combustion;
2 |
3 | uses
4 | Vcl.Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.MainFormOnTaskbar := True;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Combustion/Combustion.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Combustion/Combustion.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Combustion/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'Old "Combustion" sample ported to PXL'
5 | ClientHeight = 442
6 | ClientWidth = 624
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | Scaled = False
16 | OnCreate = FormCreate
17 | OnDestroy = FormDestroy
18 | OnResize = FormResize
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Combustion/media.vtdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Combustion/media.vtdb
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/FullScreenApp/FullScreenApp.dpr:
--------------------------------------------------------------------------------
1 | program FullScreenApp;
2 |
3 | uses
4 | Vcl.Forms,
5 | MainFm in 'MainFm.pas' {MainForm},
6 | SecondFm in 'SecondFm.pas' {SecondForm};
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.MainFormOnTaskbar := True;
13 | Application.CreateForm(TMainForm, MainForm);
14 | Application.Run;
15 | end.
16 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/FullScreenApp/FullScreenApp.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/FullScreenApp/FullScreenApp.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/FullScreenApp/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL FullScreen Demo'
5 | ClientHeight = 564
6 | ClientWidth = 784
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | OnCreate = FormCreate
15 | OnDestroy = FormDestroy
16 | OnKeyDown = FormKeyDown
17 | OnResize = FormResize
18 | PixelsPerInch = 96
19 | TextHeight = 13
20 | end
21 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/FullScreenApp/SecondFm.dfm:
--------------------------------------------------------------------------------
1 | object SecondForm: TSecondForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL Secondary Demo Form'
5 | ClientHeight = 300
6 | ClientWidth = 400
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | OnClose = FormClose
15 | OnKeyDown = FormKeyDown
16 | OnResize = FormResize
17 | PixelsPerInch = 96
18 | TextHeight = 13
19 | end
20 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/FullScreenApp/SecondFm.pas:
--------------------------------------------------------------------------------
1 | unit SecondFm;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | uses
17 | Winapi.Windows, Winapi.Messages, System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
18 |
19 | type
20 | TSecondForm = class(TForm)
21 | procedure FormResize(Sender: TObject);
22 | procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
23 | procedure FormClose(Sender: TObject; var Action: TCloseAction);
24 | private
25 | { Private declarations }
26 | public
27 | { Public declarations }
28 | end;
29 |
30 | var
31 | SecondForm: TSecondForm;
32 |
33 | implementation
34 |
35 | {$R *.dfm}
36 |
37 | uses
38 | PXL.Types, MainFm;
39 |
40 | procedure TSecondForm.FormResize(Sender: TObject);
41 | begin
42 | if MainForm <> nil then
43 | begin
44 | MainForm.SecondarySize := Point2i(ClientWidth, ClientHeight);
45 |
46 | if MainForm.EngineDevice <> nil then
47 | MainForm.EngineDevice.Resize(1, MainForm.SecondarySize);
48 | end;
49 | end;
50 |
51 | procedure TSecondForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
52 | begin
53 | if Key = VK_ESCAPE then
54 | Close;
55 | end;
56 |
57 | procedure TSecondForm.FormClose(Sender: TObject; var Action: TCloseAction);
58 | begin
59 | if (MainForm <> nil) and MainForm.Visible then
60 | MainForm.Close;
61 | end;
62 |
63 | end.
64 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/Engine.Globals.pas:
--------------------------------------------------------------------------------
1 | unit Engine.Globals;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | PXL.Types, PXL.SwapChains, PXL.Canvas, PXL.Images, PXL.Fonts, PXL.Archives;
22 |
23 | var
24 | DisplaySize: TPoint2i;
25 |
26 | EngineDevice: TCustomSwapChainDevice = nil;
27 | EngineCanvas: TCustomCanvas = nil;
28 | EngineImages: TAtlasImages = nil;
29 | EngineFonts: TBitmapFonts = nil;
30 | EngineArchive: TArchive = nil;
31 |
32 | ImageBackground: Integer = -1;
33 | ImageShipArmor: Integer = -1;
34 | ImageCShineLogo: Integer = -1;
35 | ImageBandLogo: Integer = -1;
36 | ImageLogo: Integer = -1;
37 | ImageShip: Integer = -1;
38 | ImageRock: Integer = -1;
39 | ImageTorpedo: Integer = -1;
40 | ImageExplode: Integer = -1;
41 | ImageCombust: Integer = -1;
42 |
43 | FontArialBlack: Integer = -1;
44 | FontTimesRoman: Integer = -1;
45 | FontImpact: Integer = -1;
46 |
47 | implementation
48 |
49 | end.
50 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/Hasteroids.dpr:
--------------------------------------------------------------------------------
1 | program Hasteroids;
2 |
3 | uses
4 | Forms,
5 | MainFm in 'MainFm.pas' {MainForm},
6 | StartFm in 'StartFm.pas' {StartForm};
7 |
8 | {$R *.res}
9 |
10 | begin
11 | Application.Initialize;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/Hasteroids.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Hasteroids/Hasteroids.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Top = 120
4 | Caption = 'Hasteroids'
5 | ClientHeight = 480
6 | ClientWidth = 640
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = True
14 | Position = poScreenCenter
15 | OnCreate = FormCreate
16 | OnDestroy = FormDestroy
17 | OnKeyDown = FormKeyDown
18 | OnKeyUp = FormKeyUp
19 | OnResize = FormResize
20 | PixelsPerInch = 96
21 | TextHeight = 13
22 | end
23 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/Scene.Objects.Ships.inc:
--------------------------------------------------------------------------------
1 | const
2 | ShipCoords: array[0..31, 0..2] of TPoint2i = (
3 | ((X: 51; Y: 38), (X: 12; Y: 38), (X: 32; Y: 17)),
4 | ((X: 51; Y: 33), (X: 13; Y: 40), (X: 28; Y: 17)),
5 | ((X: 50; Y: 30), (X: 15; Y: 43), (X: 24; Y: 18)),
6 | ((X: 49; Y: 27), (X: 16; Y: 45), (X: 21; Y: 19)),
7 | ((X: 48; Y: 23), (X: 19; Y: 44), (X: 19; Y: 21)),
8 | ((X: 46; Y: 21), (X: 22; Y: 47), (X: 17; Y: 23)),
9 | ((X: 45; Y: 19), (X: 29; Y: 48), (X: 16; Y: 25)),
10 | ((X: 41; Y: 17), (X: 34; Y: 48), (X: 15; Y: 27)),
11 | ((X: 38; Y: 16), (X: 40; Y: 47), (X: 15; Y: 32)),
12 | ((X: 35; Y: 15), (X: 44; Y: 46), (X: 17; Y: 35)),
13 | ((X: 31; Y: 15), (X: 50; Y: 42), (X: 18; Y: 37)),
14 | ((X: 28; Y: 15), (X: 52; Y: 38), (X: 19; Y: 39)),
15 | ((X: 25; Y: 16), (X: 54; Y: 34), (X: 20; Y: 40)),
16 | ((X: 21; Y: 16), (X: 54; Y: 30), (X: 23; Y: 42)),
17 | ((X: 19; Y: 17), (X: 53; Y: 27), (X: 27; Y: 43)),
18 | ((X: 16; Y: 20), (X: 52; Y: 24), (X: 30; Y: 44)),
19 | ((X: 12; Y: 22), (X: 50; Y: 22), (X: 32; Y: 44)),
20 | ((X: 11; Y: 26), (X: 46; Y: 20), (X: 35; Y: 44)),
21 | ((X: 10; Y: 28), (X: 44; Y: 19), (X: 38; Y: 43)),
22 | ((X: 10; Y: 32), (X: 42; Y: 16), (X: 40; Y: 42)),
23 | ((X: 11; Y: 35), (X: 38; Y: 16), (X: 44; Y: 40)),
24 | ((X: 12; Y: 38), (X: 35; Y: 15), (X: 42; Y: 39)),
25 | ((X: 14; Y: 41), (X: 31; Y: 15), (X: 45; Y: 37)),
26 | ((X: 18; Y: 44), (X: 28; Y: 15), (X: 46; Y: 35)),
27 | ((X: 23; Y: 47), (X: 25; Y: 16), (X: 48; Y: 31)),
28 | ((X: 27; Y: 49), (X: 22; Y: 17), (X: 48; Y: 27)),
29 | ((X: 32; Y: 50), (X: 19; Y: 19), (X: 47; Y: 25)),
30 | ((X: 37; Y: 49), (X: 16; Y: 22), (X: 45; Y: 23)),
31 | ((X: 41; Y: 46), (X: 14; Y: 25), (X: 44; Y: 21)),
32 | ((X: 44; Y: 45), (X: 12; Y: 29), (X: 39; Y: 19)),
33 | ((X: 47; Y: 44), (X: 12; Y: 32), (X: 37; Y: 18)),
34 | ((X: 49; Y: 41), (X: 12; Y: 34), (X: 33; Y: 17)));
35 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/Sound.Globals.pas:
--------------------------------------------------------------------------------
1 | unit Sound.Globals;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | bass;
22 |
23 | var
24 | MusicModule: HMusic = 0;
25 | EffectSamples: array[0..3] of HSample;
26 |
27 | procedure PlaySample(const Sample: HSample; const Volume: Integer);
28 |
29 | implementation
30 |
31 | procedure PlaySample(const Sample: HSample; const Volume: Integer);
32 | var
33 | Channel: HChannel;
34 | begin
35 | Channel := BASS_SampleGetChannel(Sample, False);
36 | if Channel <> 0 then
37 | begin
38 | BASS_ChannelSetAttribute(Channel, BASS_ATTRIB_VOL, Volume / 100.0);
39 | BASS_ChannelPlay(Channel, True);
40 | end;
41 | end;
42 |
43 | end.
44 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/StartFm.pas:
--------------------------------------------------------------------------------
1 | unit StartFm;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, PXL.TypeDef, PXL.Providers;
22 |
23 | type
24 | TStartForm = class(TForm)
25 | LogoImage: TImage;
26 | TopBevel: TBevel;
27 | NameGroup: TGroupBox;
28 | NameEdit: TEdit;
29 | ConfigGroup: TGroupBox;
30 | PlayButton: TBitBtn;
31 | CloseButton: TBitBtn;
32 | VSyncBox: TCheckBox;
33 | ProviderBox: TComboBox;
34 | procedure FormCreate(Sender: TObject);
35 | private
36 | { Private declarations }
37 | function GetVSync: Boolean;
38 | function GetPlayerName: UniString;
39 | public
40 | { Public declarations }
41 | function CreateProvider: TGraphicsDeviceProvider;
42 |
43 | property VSync: Boolean read GetVSync;
44 | property PlayerName: UniString read GetPlayerName;
45 | end;
46 |
47 | var
48 | StartForm: TStartForm;
49 |
50 | implementation
51 | {$R *.dfm}
52 |
53 | uses
54 | {$IFDEF CPUX86}PXL.Providers.DX7,{$ENDIF} PXL.Providers.DX9, PXL.Providers.DX11, PXL.Providers.GL;
55 |
56 | procedure TStartForm.FormCreate(Sender: TObject);
57 | begin
58 | ProviderBox.Items.Add('DirectX 11');
59 | ProviderBox.Items.Add('DirectX 9');
60 | ProviderBox.Items.Add('OpenGL');
61 | {$IFDEF CPUX86}
62 | ProviderBox.Items.Add('DirectX 7');
63 | {$ENDIF}
64 | ProviderBox.ItemIndex := 0;
65 | end;
66 |
67 | function TStartForm.GetVSync: Boolean;
68 | begin
69 | Result := VSyncBox.Checked;
70 | end;
71 |
72 | function TStartForm.GetPlayerName: UniString;
73 | begin
74 | Result := NameEdit.Text;
75 | end;
76 |
77 | function TStartForm.CreateProvider: TGraphicsDeviceProvider;
78 | begin
79 | case ProviderBox.ItemIndex of
80 | 0: Result := TDX11Provider.Create(nil);
81 | 1: Result := TDX9Provider.Create(nil);
82 | 2: Result := TGLProvider.Create(nil);
83 | {$IFDEF CPUX86}
84 | 3: Result := TDX7Provider.Create(nil);
85 | {$ENDIF}
86 | end;
87 | end;
88 |
89 | end.
90 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Hasteroids/media.asvf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Hasteroids/media.asvf
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Networking/Networking.dpr:
--------------------------------------------------------------------------------
1 | program Networking;
2 |
3 | uses
4 | Vcl.Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.MainFormOnTaskbar := True;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Networking/Networking.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Networking/Networking.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Plasma/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL Plasma Sample'
5 | ClientHeight = 512
6 | ClientWidth = 512
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | Scaled = False
16 | OnCreate = FormCreate
17 | OnDestroy = FormDestroy
18 | OnResize = FormResize
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Plasma/Plasma.dpr:
--------------------------------------------------------------------------------
1 | program Plasma;
2 |
3 | uses
4 | Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.CreateForm(TMainForm, MainForm);
12 | Application.Run;
13 | end.
14 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Plasma/Plasma.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Plasma/Plasma.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Shapes/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'Asphyre Sphinx: Shapes Example'
5 | ClientHeight = 480
6 | ClientWidth = 640
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | Scaled = False
16 | OnCreate = FormCreate
17 | OnDestroy = FormDestroy
18 | OnResize = FormResize
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Shapes/Shapes.dpr:
--------------------------------------------------------------------------------
1 | program Shapes;
2 |
3 | uses
4 | Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.CreateForm(TMainForm, MainForm);
12 | Application.Run;
13 | end.
14 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Shapes/Shapes.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Shapes/Shapes.res
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Tunnel/MainFm.dfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 0
3 | Top = 0
4 | Caption = 'PXL Tunnel Demo'
5 | ClientHeight = 682
6 | ClientWidth = 704
7 | Color = clBtnFace
8 | Font.Charset = DEFAULT_CHARSET
9 | Font.Color = clWindowText
10 | Font.Height = -11
11 | Font.Name = 'Tahoma'
12 | Font.Style = []
13 | OldCreateOrder = False
14 | Position = poScreenCenter
15 | Scaled = False
16 | OnCreate = FormCreate
17 | OnDestroy = FormDestroy
18 | OnResize = FormResize
19 | PixelsPerInch = 96
20 | TextHeight = 13
21 | end
22 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Tunnel/Tunnel.dpr:
--------------------------------------------------------------------------------
1 | program Tunnel;
2 |
3 | uses
4 | Vcl.Forms,
5 | MainFm in 'MainFm.pas' {MainForm};
6 |
7 | {$R *.res}
8 |
9 | begin
10 | Application.Initialize;
11 | Application.MainFormOnTaskbar := True;
12 | Application.CreateForm(TMainForm, MainForm);
13 | Application.Run;
14 | end.
15 |
--------------------------------------------------------------------------------
/Samples/Delphi/VCL/Tunnel/Tunnel.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Delphi/VCL/Tunnel/Tunnel.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | PXL_Basic
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
8 |
9 |
12 |
13 |
18 |
19 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/assets/Tahoma9b.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/assets/Tahoma9b.font
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/assets/lena.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/assets/lena.tga
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/assets/lenna.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/assets/lenna.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/gen/com/afterwarp/pxl_basic/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /** Automatically generated file. DO NOT MODIFY */
2 | package com.afterwarp.pxl_basic;
3 |
4 | public final class BuildConfig {
5 | public final static boolean DEBUG = true;
6 | }
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/gen/com/afterwarp/pxl_basic/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 |
8 | package com.afterwarp.pxl_basic;
9 |
10 | public final class R {
11 | public static final class attr {
12 | }
13 | public static final class drawable {
14 | public static final int ic_launcher=0x7f020000;
15 | }
16 | public static final class string {
17 | public static final int app_name=0x7f030000;
18 | }
19 | public static final class style {
20 | /**
21 | Base application theme, dependent on API level. This theme is replaced
22 | by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
23 |
24 |
25 | Theme customizations available in newer API levels can go in
26 | res/values-vXX/styles.xml, while customizations related to
27 | backward-compatibility can go here.
28 |
29 |
30 | Base application theme for API 11+. This theme completely replaces
31 | AppBaseTheme from res/values/styles.xml on API 11+ devices.
32 |
33 | API 11 theme customizations can go here.
34 |
35 | Base application theme for API 14+. This theme completely replaces
36 | AppBaseTheme from BOTH res/values/styles.xml and
37 | res/values-v11/styles.xml on API 14+ devices.
38 |
39 | API 14 theme customizations can go here.
40 | */
41 | public static final int AppBaseTheme=0x7f040000;
42 | /** Application theme.
43 | All customizations that are NOT specific to a particular API-level can go here.
44 | */
45 | public static final int AppTheme=0x7f040001;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/ic_launcher-web.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-15
15 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Basic/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | PXL_Basic
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Basic/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/.classpath:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/.project:
--------------------------------------------------------------------------------
1 |
2 |
3 | PXL_Terain
4 |
5 |
6 |
7 |
8 |
9 | com.android.ide.eclipse.adt.ResourceManagerBuilder
10 |
11 |
12 |
13 |
14 | com.android.ide.eclipse.adt.PreCompilerBuilder
15 |
16 |
17 |
18 |
19 | org.eclipse.jdt.core.javabuilder
20 |
21 |
22 |
23 |
24 | com.android.ide.eclipse.adt.ApkBuilder
25 |
26 |
27 |
28 |
29 |
30 | com.android.ide.eclipse.adt.AndroidNature
31 | org.eclipse.jdt.core.javanature
32 |
33 |
34 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/.settings/org.eclipse.jdt.core.prefs:
--------------------------------------------------------------------------------
1 | eclipse.preferences.version=1
2 | org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
3 | org.eclipse.jdt.core.compiler.compliance=1.6
4 | org.eclipse.jdt.core.compiler.source=1.6
5 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
5 |
6 |
8 |
9 |
12 |
13 |
18 |
19 |
23 |
24 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/assets/Segoe10.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/assets/Segoe10.font
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/assets/terrain.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/assets/terrain.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/gen/com/afterwarp/pxl_terrain/BuildConfig.java:
--------------------------------------------------------------------------------
1 | /** Automatically generated file. DO NOT MODIFY */
2 | package com.afterwarp.pxl_terrain;
3 |
4 | public final class BuildConfig {
5 | public final static boolean DEBUG = true;
6 | }
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/gen/com/afterwarp/pxl_terrain/R.java:
--------------------------------------------------------------------------------
1 | /* AUTO-GENERATED FILE. DO NOT MODIFY.
2 | *
3 | * This class was automatically generated by the
4 | * aapt tool from the resource data it found. It
5 | * should not be modified by hand.
6 | */
7 |
8 | package com.afterwarp.pxl_terrain;
9 |
10 | public final class R {
11 | public static final class attr {
12 | }
13 | public static final class drawable {
14 | public static final int ic_launcher=0x7f020000;
15 | }
16 | public static final class string {
17 | public static final int app_name=0x7f030000;
18 | }
19 | public static final class style {
20 | /**
21 | Base application theme, dependent on API level. This theme is replaced
22 | by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
23 |
24 |
25 | Theme customizations available in newer API levels can go in
26 | res/values-vXX/styles.xml, while customizations related to
27 | backward-compatibility can go here.
28 |
29 |
30 | Base application theme for API 11+. This theme completely replaces
31 | AppBaseTheme from res/values/styles.xml on API 11+ devices.
32 |
33 | API 11 theme customizations can go here.
34 |
35 | Base application theme for API 14+. This theme completely replaces
36 | AppBaseTheme from BOTH res/values/styles.xml and
37 | res/values-v11/styles.xml on API 14+ devices.
38 |
39 | API 14 theme customizations can go here.
40 | */
41 | public static final int AppBaseTheme=0x7f040000;
42 | /** Application theme.
43 | All customizations that are NOT specific to a particular API-level can go here.
44 | */
45 | public static final int AppTheme=0x7f040001;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/ic_launcher-web.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/ic_launcher-web.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/libs/android-support-v4.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/libs/android-support-v4.jar
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/proguard-project.txt:
--------------------------------------------------------------------------------
1 | # To enable ProGuard in your project, edit project.properties
2 | # to define the proguard.config property as described in that file.
3 | #
4 | # Add project specific ProGuard rules here.
5 | # By default, the flags in this file are appended to flags specified
6 | # in ${sdk.dir}/tools/proguard/proguard-android.txt
7 | # You can edit the include path and order by changing the ProGuard
8 | # include property in project.properties.
9 | #
10 | # For more details, see
11 | # http://developer.android.com/guide/developing/tools/proguard.html
12 |
13 | # Add any project specific keep options here:
14 |
15 | # If your project uses WebView with JS, uncomment the following
16 | # and specify the fully qualified class name to the JavaScript interface
17 | # class:
18 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview {
19 | # public *;
20 | #}
21 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/project.properties:
--------------------------------------------------------------------------------
1 | # This file is automatically generated by Android Tools.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must be checked in Version Control Systems.
5 | #
6 | # To customize properties used by the Ant build system edit
7 | # "ant.properties", and override values to adapt the script to your
8 | # project structure.
9 | #
10 | # To enable ProGuard to shrink and obfuscate your code, uncomment this (available properties: sdk.dir, user.home):
11 | #proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
12 |
13 | # Project target.
14 | target=android-15
15 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/drawable-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/res/drawable-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/drawable-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/res/drawable-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/drawable-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/res/drawable-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/drawable-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Android/Terrain/res/drawable-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/values-v11/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/values-v14/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | PXL_Terrain
4 |
5 |
6 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Android/Terrain/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
7 |
14 |
15 |
16 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Basic/Basic.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Basic/Basic.lpr:
--------------------------------------------------------------------------------
1 | program Basic;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | {$IFDEF UNIX}{$IFDEF UseCThreads}
7 | cthreads,
8 | {$ENDIF}{$ENDIF}
9 | Interfaces, // this includes the LCL widgetset
10 | Forms, MainFm
11 | { you can add units after this };
12 |
13 | {$R *.res}
14 |
15 | begin
16 | RequireDerivedFormResource := True;
17 | Application.Initialize;
18 | Application.CreateForm(TMainForm, MainForm);
19 | Application.Run;
20 | end.
21 |
22 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Basic/Basic.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Basic/Basic.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Basic/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 475
4 | Top = 120
5 | Width = 640
6 | Caption = 'PXL Basic Demo'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnResize = FormResize
10 | Position = poScreenCenter
11 | LCLVersion = '1.9.0.0'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/BasicSoft/BasicSoft.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/BasicSoft/BasicSoft.lpr:
--------------------------------------------------------------------------------
1 | program BasicSoft;
2 |
3 | uses
4 | {$IFDEF UNIX}{$IFDEF UseCThreads}
5 | cthreads,
6 | {$ENDIF}{$ENDIF}
7 | Interfaces, // this includes the LCL widgetset
8 | Forms, MainFm
9 | { you can add units after this };
10 |
11 | {$R *.res}
12 |
13 | begin
14 | RequireDerivedFormResource := True;
15 | Application.Initialize;
16 | Application.CreateForm(TMainForm, MainForm);
17 | Application.Run;
18 | end.
19 |
20 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/BasicSoft/BasicSoft.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/BasicSoft/BasicSoft.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/BasicSoft/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 475
4 | Top = 120
5 | Width = 640
6 | Caption = 'PXL Basic Demo (software renderer)'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnPaint = FormPaint
10 | OnResize = FormResize
11 | Position = poScreenCenter
12 | LCLVersion = '1.5'
13 | end
14 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Combustion/Combustion.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Combustion/Combustion.lpr:
--------------------------------------------------------------------------------
1 | program Combustion;
2 |
3 | uses
4 | {$IFDEF UNIX}{$IFDEF UseCThreads}
5 | cthreads,
6 | {$ENDIF}{$ENDIF}
7 | Interfaces, // this includes the LCL widgetset
8 | Forms, MainFm
9 | { you can add units after this };
10 |
11 | {$R *.res}
12 |
13 | begin
14 | RequireDerivedFormResource := True;
15 | Application.Initialize;
16 | Application.CreateForm(TMainForm, MainForm);
17 | Application.Run;
18 | end.
19 |
20 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Combustion/Combustion.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Combustion/Combustion.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Combustion/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 249
3 | Height = 475
4 | Top = 118
5 | Width = 640
6 | Caption = 'Old "Combustion" sample ported to PXL'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnResize = FormResize
10 | Position = poScreenCenter
11 | LCLVersion = '1.9.0.0'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Combustion/media.vtdb:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Combustion/media.vtdb
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/FullScreenApp.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/FullScreenApp.lpr:
--------------------------------------------------------------------------------
1 | program FullScreenApp;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | {$IFDEF UNIX}{$IFDEF UseCThreads}
7 | cthreads,
8 | {$ENDIF}{$ENDIF}
9 | Interfaces, // this includes the LCL widgetset
10 | Forms, MainFm, SecondFm
11 | { you can add units after this };
12 |
13 | {$R *.res}
14 |
15 | begin
16 | RequireDerivedFormResource := True;
17 | Application.Initialize;
18 | Application.CreateForm(TMainForm, MainForm);
19 | Application.Run;
20 | end.
21 |
22 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/FullScreenApp.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/FullScreenApp/FullScreenApp.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 480
4 | Top = 115
5 | Width = 640
6 | Caption = 'PXL FullScreen Demo'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnKeyDown = FormKeyDown
10 | OnResize = FormResize
11 | LCLVersion = '1.5'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/SecondFm.lfm:
--------------------------------------------------------------------------------
1 | object SecondForm: TSecondForm
2 | Left = 250
3 | Height = 300
4 | Top = 119
5 | Width = 400
6 | Caption = 'PXL Secondary Demo Form'
7 | OnClose = FormClose
8 | OnKeyDown = FormKeyDown
9 | OnResize = FormResize
10 | LCLVersion = '1.3'
11 | end
12 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/FullScreenApp/SecondFm.pas:
--------------------------------------------------------------------------------
1 | unit SecondFm;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | uses
17 | Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs;
18 |
19 | type
20 | TSecondForm = class(TForm)
21 | procedure FormClose(Sender: TObject; var CloseAction: TCloseAction);
22 | procedure FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
23 | procedure FormResize(Sender: TObject);
24 | private
25 | { private declarations }
26 | public
27 | { public declarations }
28 | end;
29 |
30 | var
31 | SecondForm: TSecondForm;
32 |
33 | implementation
34 | {$R *.lfm}
35 |
36 | uses
37 | LCLType, PXL.Types, MainFm;
38 |
39 | procedure TSecondForm.FormResize(Sender: TObject);
40 | begin
41 | if MainForm <> nil then
42 | begin
43 | MainForm.SecondarySize := Point2i(ClientWidth, ClientHeight);
44 |
45 | if MainForm.EngineDevice <> nil then
46 | MainForm.EngineDevice.Resize(1, MainForm.SecondarySize);
47 | end;
48 | end;
49 |
50 | procedure TSecondForm.FormClose(Sender: TObject; var CloseAction: TCloseAction);
51 | begin
52 | if (MainForm <> nil) and MainForm.Visible then
53 | MainForm.Close;
54 | end;
55 |
56 | procedure TSecondForm.FormKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
57 | begin
58 | if Key = VK_ESCAPE then
59 | Close;
60 | end;
61 |
62 | end.
63 |
64 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/Engine.Globals.pas:
--------------------------------------------------------------------------------
1 | unit Engine.Globals;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | PXL.Types, PXL.SwapChains, PXL.Canvas, PXL.Images, PXL.Fonts, PXL.Archives;
22 |
23 | var
24 | DisplaySize: TPoint2i;
25 |
26 | EngineDevice: TCustomSwapChainDevice = nil;
27 | EngineCanvas: TCustomCanvas = nil;
28 | EngineImages: TAtlasImages = nil;
29 | EngineFonts: TBitmapFonts = nil;
30 | EngineArchive: TArchive = nil;
31 |
32 | ImageBackground: Integer = -1;
33 | ImageShipArmor: Integer = -1;
34 | ImageCShineLogo: Integer = -1;
35 | ImageBandLogo: Integer = -1;
36 | ImageLogo: Integer = -1;
37 | ImageShip: Integer = -1;
38 | ImageRock: Integer = -1;
39 | ImageTorpedo: Integer = -1;
40 | ImageExplode: Integer = -1;
41 | ImageCombust: Integer = -1;
42 |
43 | FontArialBlack: Integer = -1;
44 | FontTimesRoman: Integer = -1;
45 | FontImpact: Integer = -1;
46 |
47 | implementation
48 |
49 | end.
50 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/Hasteroids.lpr:
--------------------------------------------------------------------------------
1 | program Hasteroids;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | {$IFDEF UNIX}{$IFDEF UseCThreads}
7 | cthreads,
8 | {$ENDIF}{$ENDIF}
9 | Interfaces, // this includes the LCL widgetset
10 | Forms, MainFm, StartFm
11 | { you can add units after this };
12 |
13 | {$R *.res}
14 |
15 | begin
16 | RequireDerivedFormResource := True;
17 | Application.Initialize;
18 | Application.CreateForm(TMainForm, MainForm);
19 | Application.Run;
20 | end.
21 |
22 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/Hasteroids.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Hasteroids/Hasteroids.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 480
4 | Top = 120
5 | Width = 640
6 | Caption = 'Hasteroids'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnKeyDown = FormKeyDown
10 | OnKeyUp = FormKeyUp
11 | OnResize = FormResize
12 | Position = poScreenCenter
13 | LCLVersion = '1.5'
14 | end
15 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/Scene.Objects.Ships.inc:
--------------------------------------------------------------------------------
1 | const
2 | ShipCoords: array[0..31, 0..2] of TPoint2i = (
3 | ((X: 51; Y: 38), (X: 12; Y: 38), (X: 32; Y: 17)),
4 | ((X: 51; Y: 33), (X: 13; Y: 40), (X: 28; Y: 17)),
5 | ((X: 50; Y: 30), (X: 15; Y: 43), (X: 24; Y: 18)),
6 | ((X: 49; Y: 27), (X: 16; Y: 45), (X: 21; Y: 19)),
7 | ((X: 48; Y: 23), (X: 19; Y: 44), (X: 19; Y: 21)),
8 | ((X: 46; Y: 21), (X: 22; Y: 47), (X: 17; Y: 23)),
9 | ((X: 45; Y: 19), (X: 29; Y: 48), (X: 16; Y: 25)),
10 | ((X: 41; Y: 17), (X: 34; Y: 48), (X: 15; Y: 27)),
11 | ((X: 38; Y: 16), (X: 40; Y: 47), (X: 15; Y: 32)),
12 | ((X: 35; Y: 15), (X: 44; Y: 46), (X: 17; Y: 35)),
13 | ((X: 31; Y: 15), (X: 50; Y: 42), (X: 18; Y: 37)),
14 | ((X: 28; Y: 15), (X: 52; Y: 38), (X: 19; Y: 39)),
15 | ((X: 25; Y: 16), (X: 54; Y: 34), (X: 20; Y: 40)),
16 | ((X: 21; Y: 16), (X: 54; Y: 30), (X: 23; Y: 42)),
17 | ((X: 19; Y: 17), (X: 53; Y: 27), (X: 27; Y: 43)),
18 | ((X: 16; Y: 20), (X: 52; Y: 24), (X: 30; Y: 44)),
19 | ((X: 12; Y: 22), (X: 50; Y: 22), (X: 32; Y: 44)),
20 | ((X: 11; Y: 26), (X: 46; Y: 20), (X: 35; Y: 44)),
21 | ((X: 10; Y: 28), (X: 44; Y: 19), (X: 38; Y: 43)),
22 | ((X: 10; Y: 32), (X: 42; Y: 16), (X: 40; Y: 42)),
23 | ((X: 11; Y: 35), (X: 38; Y: 16), (X: 44; Y: 40)),
24 | ((X: 12; Y: 38), (X: 35; Y: 15), (X: 42; Y: 39)),
25 | ((X: 14; Y: 41), (X: 31; Y: 15), (X: 45; Y: 37)),
26 | ((X: 18; Y: 44), (X: 28; Y: 15), (X: 46; Y: 35)),
27 | ((X: 23; Y: 47), (X: 25; Y: 16), (X: 48; Y: 31)),
28 | ((X: 27; Y: 49), (X: 22; Y: 17), (X: 48; Y: 27)),
29 | ((X: 32; Y: 50), (X: 19; Y: 19), (X: 47; Y: 25)),
30 | ((X: 37; Y: 49), (X: 16; Y: 22), (X: 45; Y: 23)),
31 | ((X: 41; Y: 46), (X: 14; Y: 25), (X: 44; Y: 21)),
32 | ((X: 44; Y: 45), (X: 12; Y: 29), (X: 39; Y: 19)),
33 | ((X: 47; Y: 44), (X: 12; Y: 32), (X: 37; Y: 18)),
34 | ((X: 49; Y: 41), (X: 12; Y: 34), (X: 33; Y: 17)));
35 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/Sound.Globals.pas:
--------------------------------------------------------------------------------
1 | unit Sound.Globals;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | bass;
22 |
23 | var
24 | MusicModule: HMusic = 0;
25 | EffectSamples: array[0..3] of HSample;
26 |
27 | procedure PlaySample(const Sample: HSample; const Volume: Integer);
28 |
29 | implementation
30 |
31 | procedure PlaySample(const Sample: HSample; const Volume: Integer);
32 | var
33 | Channel: HChannel;
34 | begin
35 | Channel := BASS_SampleGetChannel(Sample, False);
36 | if Channel <> 0 then
37 | begin
38 | BASS_ChannelSetAttribute(Channel, BASS_ATTRIB_VOL, Volume / 100.0);
39 | BASS_ChannelPlay(Channel, True);
40 | end;
41 | end;
42 |
43 | end.
44 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/StartFm.pas:
--------------------------------------------------------------------------------
1 | unit StartFm;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Special note: this code was ported multiple times from earliest framework releases predating Asphyre. }
19 |
20 | uses
21 | SysUtils, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons, PXL.TypeDef, PXL.Providers;
22 |
23 | type
24 | TStartForm = class(TForm)
25 | LogoImage: TImage;
26 | TopBevel: TBevel;
27 | NameGroup: TGroupBox;
28 | NameEdit: TEdit;
29 | ConfigGroup: TGroupBox;
30 | PlayButton: TBitBtn;
31 | CloseButton: TBitBtn;
32 | VSyncBox: TCheckBox;
33 | ProviderBox: TComboBox;
34 | procedure FormCreate(Sender: TObject);
35 | private
36 | { Private declarations }
37 | function GetVSync: Boolean;
38 | function GetPlayerName: UniString;
39 | public
40 | { Public declarations }
41 | function CreateProvider: TGraphicsDeviceProvider;
42 |
43 | property VSync: Boolean read GetVSync;
44 | property PlayerName: UniString read GetPlayerName;
45 | end;
46 |
47 | var
48 | StartForm: TStartForm;
49 |
50 | implementation
51 | {$R *.lfm}
52 |
53 | uses
54 | {$IFDEF MSWINDOWS}
55 | {$IFDEF CPUX86}PXL.Providers.DX7,{$ENDIF} PXL.Providers.DX9, PXL.Providers.DX11,
56 | {$ELSE}
57 | {$IFNDEF DARWIN}
58 | PXL.Providers.GLES,
59 | {$ENDIF}
60 | {$ENDIF}
61 |
62 | PXL.Providers.SRT, PXL.Providers.GL;
63 |
64 | procedure TStartForm.FormCreate(Sender: TObject);
65 | begin
66 | ProviderBox.Items.Add('Software');
67 | {$IFDEF MSWINDOWS}
68 | ProviderBox.Items.Add('DirectX 11');
69 | ProviderBox.Items.Add('DirectX 9');
70 | ProviderBox.Items.Add('OpenGL');
71 | {$IFDEF CPUX86}
72 | ProviderBox.Items.Add('DirectX 7');
73 | {$ENDIF}
74 | {$ELSE}
75 | ProviderBox.Items.Add('OpenGL');
76 | {$IFNDEF DARWIN}
77 | ProviderBox.Items.Add('OpenGL ES');
78 | {$ENDIF}
79 | {$ENDIF}
80 | ProviderBox.ItemIndex := 1;
81 | end;
82 |
83 | function TStartForm.GetVSync: Boolean;
84 | begin
85 | Result := VSyncBox.Checked;
86 | end;
87 |
88 | function TStartForm.GetPlayerName: UniString;
89 | begin
90 | Result := NameEdit.Text;
91 | end;
92 |
93 | function TStartForm.CreateProvider: TGraphicsDeviceProvider;
94 | begin
95 | case ProviderBox.ItemIndex of
96 | 0: Result := TSRTProvider.Create(nil);
97 | {$IFDEF MSWINDOWS}
98 | 1: Result := TDX11Provider.Create(nil);
99 | 2: Result := TDX9Provider.Create(nil);
100 | 3: Result := TGLProvider.Create(nil);
101 | {$IFDEF CPUX86}
102 | 4: Result := TDX7Provider.Create(nil);
103 | {$ENDIF}
104 | {$ELSE}
105 | 1: Result := TGLProvider.Create(nil);
106 | {$IFNDEF DARWIN}
107 | 2: Result := TGLESProvider.Create(nil);
108 | {$ENDIF}
109 | {$ENDIF}
110 | end;
111 | end;
112 |
113 | end.
114 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Hasteroids/media.asvf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Hasteroids/media.asvf
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Networking/Networking.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Networking/Networking.lpr:
--------------------------------------------------------------------------------
1 | program Networking;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | {$IFDEF UNIX}{$IFDEF UseCThreads}
7 | cthreads,
8 | {$ENDIF}{$ENDIF}
9 | Interfaces, // this includes the LCL widgetset
10 | Forms, MainFm
11 | { you can add units after this };
12 |
13 | {$R *.res}
14 |
15 | begin
16 | RequireDerivedFormResource := True;
17 | Application.Initialize;
18 | Application.CreateForm(TMainForm, MainForm);
19 | Application.Run;
20 | end.
21 |
22 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Networking/Networking.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Networking/Networking.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Plasma/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 512
4 | Top = 111
5 | Width = 512
6 | Caption = 'PXL Plasma Sample'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnResize = FormResize
10 | Position = poScreenCenter
11 | LCLVersion = '1.9.0.0'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Plasma/Plasma.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Plasma/Plasma.lpr:
--------------------------------------------------------------------------------
1 | program Plasma;
2 |
3 | {$mode objfpc}{$H+}
4 |
5 | uses
6 | {$IFDEF UNIX}{$IFDEF UseCThreads}
7 | cthreads,
8 | {$ENDIF}{$ENDIF}
9 | Interfaces, // this includes the LCL widgetset
10 | Forms, MainFm
11 | { you can add units after this };
12 |
13 | {$R *.res}
14 |
15 | begin
16 | RequireDerivedFormResource:=True;
17 | Application.Initialize;
18 | Application.CreateForm(TMainForm, MainForm);
19 | Application.Run;
20 | end.
21 |
22 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Plasma/Plasma.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Plasma/Plasma.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Shapes/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 475
4 | Top = 120
5 | Width = 640
6 | Caption = 'PXL Shapes Demo'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnResize = FormResize
10 | Position = poScreenCenter
11 | LCLVersion = '1.9.0.0'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Shapes/Shapes.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Shapes/Shapes.lpr:
--------------------------------------------------------------------------------
1 | program Shapes;
2 |
3 | uses
4 | {$IFDEF UNIX}{$IFDEF UseCThreads}
5 | cthreads,
6 | {$ENDIF}{$ENDIF}
7 | Interfaces, // this includes the LCL widgetset
8 | Forms, MainFm
9 | { you can add units after this };
10 |
11 | {$R *.res}
12 |
13 | begin
14 | RequireDerivedFormResource := True;
15 | Application.Initialize;
16 | Application.CreateForm(TMainForm, MainForm);
17 | Application.Run;
18 | end.
19 |
20 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Shapes/Shapes.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Shapes/Shapes.res
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Tunnel/MainFm.lfm:
--------------------------------------------------------------------------------
1 | object MainForm: TMainForm
2 | Left = 243
3 | Height = 720
4 | Top = 120
5 | Width = 720
6 | Caption = 'PXL Tunnel Demo'
7 | OnCreate = FormCreate
8 | OnDestroy = FormDestroy
9 | OnResize = FormResize
10 | Position = poScreenCenter
11 | LCLVersion = '1.5'
12 | end
13 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Tunnel/Tunnel.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Tunnel/Tunnel.lpr:
--------------------------------------------------------------------------------
1 | program Tunnel;
2 |
3 | uses
4 | {$IFDEF UNIX}{$IFDEF UseCThreads}
5 | cthreads,
6 | {$ENDIF}{$ENDIF}
7 | Interfaces, // this includes the LCL widgetset
8 | Forms, MainFm
9 | { you can add units after this };
10 |
11 | {$R *.res}
12 |
13 | begin
14 | RequireDerivedFormResource := True;
15 | Application.Initialize;
16 | Application.CreateForm(TMainForm, MainForm);
17 | Application.Run;
18 | end.
19 |
20 |
--------------------------------------------------------------------------------
/Samples/FreePascal/Desktop/Tunnel/Tunnel.res:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/Desktop/Tunnel/Tunnel.res
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/Blinky/Blinky.lpr:
--------------------------------------------------------------------------------
1 | program Blinky;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | {
15 | This example illustrates how to blink a LED on Intel Galileo.
16 |
17 | Attention! Please follow these instructions before running the sample:
18 |
19 | 1. PinLED constant should contain pin number to which positive LED terminal is connected to.
20 |
21 | 2. After compiling and uploading this sample, change its attributes to executable. Something like this:
22 | chmod +x Blinky
23 | ./Blinky
24 |
25 | 3. Check the accompanying diagram and photo to see an example on how the wiring should be made.
26 | }
27 | uses
28 | Crt, PXL.Timing, PXL.Boards.Types, PXL.Boards.Galileo;
29 |
30 | const
31 | PinLED = 7;
32 |
33 | var
34 | GPIO: TCustomGPIO = nil;
35 | TurnedOn: Boolean = False;
36 | begin
37 | GPIO := TGalileoGPIO.Create;
38 | try
39 | // Switch LED pin for output.
40 | GPIO.PinMode[PinLED] := TPinMode.Output;
41 |
42 | WriteLn('Blinking LED, press any key to exit...');
43 |
44 | while not KeyPressed do
45 | begin
46 | TurnedOn := not TurnedOn;
47 |
48 | if TurnedOn then
49 | GPIO.PinValue[PinLED] := TPinValue.High
50 | else
51 | GPIO.PinValue[PinLED] := TPinValue.Low;
52 |
53 | MicroSleep(500000); // wait for 500 ms
54 | end;
55 |
56 | // Eat the key pressed so it won't go to terminal after we exit.
57 | ReadKey;
58 |
59 | // Turn the LED off after we are done and switch it to "Input" just to be safe.
60 | GPIO.PinMode[PinLED] := TPinMode.Input;
61 | finally
62 | GPIO.Free;
63 | end;
64 | end.
65 |
66 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplayI2C/DisplayI2C.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-Screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI-Screenshot.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Galileo/DisplaySPI/DisplaySPI.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/Blinky/Blinky.lpr:
--------------------------------------------------------------------------------
1 | program Blinky;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | {
15 | This example illustrates how to blink a LED using Sysfs GPIO interface.
16 |
17 | Attention! Please follow these instructions before running the sample:
18 |
19 | 1. When creating TSysfsGPIO class, make sure that Linux path (by default /sys/class/gpio) to GPIO is correct.
20 |
21 | 2. PinLED constant should contain actual Linux GPIO number corresponding to physical pin.
22 |
23 | 3. On some devices, before using pins for GPIO, it is necessary to set one or more multiplexers. Refer to the
24 | manual of your specific device for the information on how to do this. In many cases, you can use the same GPIO
25 | class to do it, e.g. "GPIO.SetMux(24, TPinValue.High)".
26 |
27 | 4. After compiling and uploading this sample, change its attributes to executable. It is also recommended to
28 | execute this application with administrative privileges. Something like this:
29 | chmod +x Blinky
30 | sudo ./Blinky
31 |
32 | 5. Check the accompanying diagram and photo to see an example on how this can be connected on BeagleBone Black.
33 | Note that for BeagleBone Black, check tables on pages 70 and 72 from "BeagleBone Black System Reference Manual"
34 | to determine actual GPIO number. In this case, pin P9_12 in Mode7 corresponds to "gpio1[28]" and since each
35 | "gpio" is offset by 32 starting from zero, the actual pin number is 1 * 32 + 28 = 60.
36 | }
37 | uses
38 | Crt, PXL.Timing, PXL.Boards.Types, PXL.Sysfs.GPIO;
39 |
40 | const
41 | PinLED = 60;
42 |
43 | var
44 | GPIO: TCustomGPIO = nil;
45 | TurnedOn: Boolean = False;
46 | begin
47 | GPIO := TSysfsGPIO.Create;
48 | try
49 | // Switch LED pin for output.
50 | GPIO.PinMode[PinLED] := TPinMode.Output;
51 |
52 | WriteLn('Blinking LED, press any key to exit...');
53 |
54 | while not KeyPressed do
55 | begin
56 | TurnedOn := not TurnedOn;
57 |
58 | if TurnedOn then
59 | GPIO.PinValue[PinLED] := TPinValue.High
60 | else
61 | GPIO.PinValue[PinLED] := TPinValue.Low;
62 |
63 | MicroSleep(500000); // wait for 500 ms
64 | end;
65 |
66 | // Eat the key pressed so it won't go to terminal after we exit.
67 | ReadKey;
68 |
69 | // Turn the LED off after we are done and switch it to "Input" just to be safe.
70 | GPIO.PinMode[PinLED] := TPinMode.Input;
71 | finally
72 | GPIO.Free;
73 | end;
74 | end.
75 |
76 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplayI2C/DisplayI2C.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-Screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI-Screenshot.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/DisplaySPI/DisplaySPI.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/Networking/Networking.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/SerialCamera/SerialCamera.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Generic/V4L2Camera/V4L2Camera.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Media/consolas.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Media/consolas.font
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Media/corbel.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Media/corbel.font
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Media/kristen.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Media/kristen.font
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Media/lenna.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Media/lenna.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/Media/tahoma8.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/Media/tahoma8.font
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/BasicOpenGL/BasicOpenGL.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/Blinky/Blinky.lpr:
--------------------------------------------------------------------------------
1 | program Blinky;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | {
15 | This example illustrates a simple use of GPIO on Raspberry PI to blink a LED.
16 |
17 | Make sure to connect the LED to RPi pin #16 (BCM 23), please take a look at the accompanying diagram and photo.
18 | }
19 | uses
20 | Crt, PXL.Boards.Types, PXL.Boards.RPi;
21 |
22 | const
23 | PinLED = 16;
24 |
25 | var
26 | SystemCore: TFastSystemCore = nil;
27 | GPIO: TFastGPIO = nil;
28 | TurnedOn: Boolean = False;
29 | begin
30 | SystemCore := TFastSystemCore.Create;
31 | try
32 | GPIO := TFastGPIO.Create(SystemCore);
33 | try
34 | // Switch LED pin for output.
35 | GPIO.PinMode[PinLED] := TPinMode.Output;
36 |
37 | WriteLn('Blinking LED, press any key to exit...');
38 |
39 | while not KeyPressed do
40 | begin
41 | TurnedOn := not TurnedOn;
42 |
43 | if TurnedOn then
44 | GPIO.PinValue[PinLED] := TPinValue.High
45 | else
46 | GPIO.PinValue[PinLED] := TPinValue.Low;
47 |
48 | SystemCore.Delay(500000); // wait for 500 ms
49 | end;
50 |
51 | // Eat the key pressed so it won't go to terminal after we exit.
52 | ReadKey;
53 |
54 | // Turn the LED off after we are done and switch it to "Input" just to be safe.
55 | GPIO.PinMode[PinLED] := TPinMode.Input;
56 | finally
57 | GPIO.Free;
58 | end;
59 | finally
60 | SystemCore.Free;
61 | end;
62 | end.
63 |
64 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplayI2C/DisplayI2C-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplayI2C/DisplayI2C-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplayI2C/DisplayI2C.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-Screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI-Screenshot.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPI/DisplaySPI.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-HowToConnect-Diagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-HowToConnect-Diagram.png
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-HowToConnect-Photo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-HowToConnect-Photo.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-Screenshot.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU-Screenshot.jpg
--------------------------------------------------------------------------------
/Samples/FreePascal/SingleBoard/RaspberryPI/DisplaySPIAndGPU/DisplaySPIAndGPU.lpi:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
--------------------------------------------------------------------------------
/Samples/Media/BookAntiqua24.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/BookAntiqua24.font
--------------------------------------------------------------------------------
/Samples/Media/BookAntiqua24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/BookAntiqua24.png
--------------------------------------------------------------------------------
/Samples/Media/Corbel.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Corbel.font
--------------------------------------------------------------------------------
/Samples/Media/Corbel.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Corbel.png
--------------------------------------------------------------------------------
/Samples/Media/Kristen.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Kristen.font
--------------------------------------------------------------------------------
/Samples/Media/Kristen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Kristen.png
--------------------------------------------------------------------------------
/Samples/Media/Lenna.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Lenna.png
--------------------------------------------------------------------------------
/Samples/Media/Lenna.tga:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Lenna.tga
--------------------------------------------------------------------------------
/Samples/Media/Scanline.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Scanline.png
--------------------------------------------------------------------------------
/Samples/Media/SphinxExampleIcon.icns:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/SphinxExampleIcon.icns
--------------------------------------------------------------------------------
/Samples/Media/SphinxExampleIcon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/SphinxExampleIcon.ico
--------------------------------------------------------------------------------
/Samples/Media/Tahoma9b.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Tahoma9b.font
--------------------------------------------------------------------------------
/Samples/Media/Tahoma9b.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/Tahoma9b.png
--------------------------------------------------------------------------------
/Samples/Media/TempusSans.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/TempusSans.font
--------------------------------------------------------------------------------
/Samples/Media/TempusSans.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/TempusSans.png
--------------------------------------------------------------------------------
/Samples/Media/TranceForm.font:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/TranceForm.font
--------------------------------------------------------------------------------
/Samples/Media/TranceForm.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/svn2github/AsphyrePXL/e29f402b27b3133e3971ecd4a7f14dddf81c2e34/Samples/Media/TranceForm.png
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasSolid.ps:
--------------------------------------------------------------------------------
1 |
2 | float4 ps_main(
3 | float4 InPos: SV_POSITION,
4 | float2 InTex: TEXCOORD1,
5 | float4 InCol: COLOR0): SV_TARGET
6 | {
7 | return InCol;
8 | }
9 |
10 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasTextured.ps:
--------------------------------------------------------------------------------
1 |
2 | sampler ImageSampler: register(s0);
3 | Texture2D ImageTexture: register(t0);
4 |
5 | float4 ps_main(
6 | float4 InPos: SV_POSITION,
7 | float2 InTex: TEXCOORD1,
8 | float4 InCol: COLOR0): SV_TARGET
9 | {
10 | return ImageTexture.Sample(ImageSampler, InTex) * InCol;
11 | }
12 |
13 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasTexturedA.ps:
--------------------------------------------------------------------------------
1 |
2 | sampler ImageSampler: register(s0);
3 | Texture2D ImageTexture: register(t0);
4 |
5 | float4 ps_main(
6 | float4 InPos: SV_POSITION,
7 | float2 InTex: TEXCOORD1,
8 | float4 InCol: COLOR0): SV_TARGET
9 | {
10 | float4 TexColor = ImageTexture.Sample(ImageSampler, InTex);
11 | return float4(InCol.r, InCol.g, InCol.b, InCol.a * TexColor.a);
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasTexturedI.ps:
--------------------------------------------------------------------------------
1 |
2 | sampler ImageSampler: register(s0);
3 | sampler PaletteSampler: register(s1);
4 |
5 | Texture2D ImageTexture: register(t0);
6 | Texture2D PaletteTexture: register(t1);
7 |
8 | float4 ps_main(
9 | float4 InPos: SV_POSITION,
10 | float2 InTex: TEXCOORD1,
11 | float4 InCol: COLOR0): SV_TARGET
12 | {
13 | float PaletteIndex = ImageTexture.Sample(ImageSampler, InTex).r;
14 | return PaletteTexture.Sample(PaletteSampler, (PaletteIndex * 255.0f / 256.0f) + 0.5f / 256.0f);
15 | }
16 |
17 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasTexturedL.ps:
--------------------------------------------------------------------------------
1 |
2 | sampler ImageSampler: register(s0);
3 | Texture2D ImageTexture: register(t0);
4 |
5 | float4 ps_main(
6 | float4 InPos: SV_POSITION,
7 | float2 InTex: TEXCOORD1,
8 | float4 InCol: COLOR0): SV_TARGET
9 | {
10 | float4 TexColor = ImageTexture.Sample(ImageSampler, InTex);
11 | return float4(InCol.r * TexColor.r, InCol.g * TexColor.r, InCol.b * TexColor.r, InCol.a);
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasTexturedLA.ps:
--------------------------------------------------------------------------------
1 |
2 | sampler ImageSampler: register(s0);
3 | Texture2D ImageTexture: register(t0);
4 |
5 | float4 ps_main(
6 | float4 InPos: SV_POSITION,
7 | float2 InTex: TEXCOORD1,
8 | float4 InCol: COLOR0): SV_TARGET
9 | {
10 | float4 TempColor = ImageTexture.Sample(ImageSampler, InTex);
11 | return TempColor.rrrg * InCol;
12 | }
13 |
14 |
--------------------------------------------------------------------------------
/Shaders/DirectX/CanvasVertex.vs:
--------------------------------------------------------------------------------
1 | void vs_main(
2 | float2 InPos: POSITION0,
3 | float2 InTex: TEXCOORD0,
4 | float4 InCol: COLOR0,
5 | out float4 OutPos: SV_POSITION,
6 | out float2 OutTex: TEXCOORD1,
7 | out float4 OutCol: COLOR0)
8 | {
9 | OutPos = float4(InPos, 0.0, 1.0);
10 | OutTex = InTex;
11 | OutCol = InCol;
12 | }
13 |
--------------------------------------------------------------------------------
/Shaders/readme.txt:
--------------------------------------------------------------------------------
1 | Platform eXtended Library
2 |
3 | -------------------------------------------------------------------------------
4 |
5 | In this folder you may find DirectX shaders that are used for Direct3D 11
6 | providers in the framework. These are also included in the source code in
7 | compiled form. These are available for your own reference and require DirectX
8 | SDK for compilation (specifically "fxc" tool).
9 |
10 | OpenGL (ES) shaders are directly embedded in the framework source and can be
11 | found in "Source" folder.
12 |
--------------------------------------------------------------------------------
/Source/Android.Config.inc:
--------------------------------------------------------------------------------
1 | { Enables debug messages for most of AppGlue callbacks and commands. }
2 | {$DEFINE APPGLUE_DEBUG}
3 |
4 | {$IFNDEF PXL_CONFIG}
5 | {$IFDEF FPC}
6 | {$MODE DELPHI}
7 | {$ENDIF}
8 | {$ENDIF}
9 |
--------------------------------------------------------------------------------
/Source/Android.DlFcn.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2008 The Android Open Source Project
3 | All rights reserved.
4 |
5 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
6 | following conditions are met:
7 | * Redistributions of source code must retain the above copyright notice, this list of conditions and the following
8 | disclaimer.
9 | * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
10 | following disclaimer in the documentation and/or other materials provided with the distribution.
11 |
12 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
13 | INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
14 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
15 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
16 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
17 | WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
18 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
19 |
20 | Android NDK C/C++ file:
21 | dlfcn.h
22 |
23 | Original source code was taken from:
24 | %NDK_DIR%/platforms/android-9/arch-arm/usr/include/
25 |
26 | Pascal translation by Yuriy Kotsarenko, August 2015.
27 | }
28 | unit Android.DlFcn;
29 |
30 | interface
31 |
32 | {$INCLUDE Android.Config.inc}
33 | {$INCLUDE Android.LibDefs.inc}
34 |
35 | type
36 | PDl_info = ^Dl_info;
37 | Dl_info = record
38 | dli_fname: PAnsiChar; // Pathname of shared object that contains address
39 | dli_fbase: Pointer; // Address at which shared object is loaded
40 | dli_sname: PAnsiChar; // Name of nearest symbol with address lower than addr
41 | dli_saddr: Pointer; // Exact address of symbol named in dli_sname
42 | end;
43 |
44 | const
45 | RTLD_NOW = 0;
46 | RTLD_LAZY = 1;
47 |
48 | RTLD_LOCAL = 0;
49 | RTLD_GLOBAL = 2;
50 |
51 | RTLD_DEFAULT = Pointer($FFFFFFFF);
52 | RTLD_NEXT = Pointer($FFFFFFFE);
53 |
54 | function dlopen(filename: PAnsiChar; flag: LongInt): Pointer; cdecl;
55 | external libdl name 'dlopen';
56 |
57 | function dlclose(handle: Pointer): LongInt; cdecl;
58 | external libdl name 'dlclose';
59 |
60 | function dlerror: PAnsiChar; cdecl;
61 | external libdl name 'dlerror';
62 |
63 | function dlsym(handle: Pointer; symbol: PAnsiChar): Pointer; cdecl;
64 | external libdl name 'dlsym';
65 |
66 | function dladdr(addr: Pointer; info: PDL_info): LongInt; cdecl;
67 | external libdl name 'dladdr';
68 |
69 | implementation
70 |
71 | end.
72 |
--------------------------------------------------------------------------------
/Source/Android.LibDefs.inc:
--------------------------------------------------------------------------------
1 | const
2 | libEGL = 'libEGL.so';
3 | libGLESv2 = 'libGLESv2.so';
4 | libc = 'libc.so';
5 | liblog = 'liblog.so';
6 | libandroid = 'libandroid.so';
7 | libdl = 'libdl.so';
8 | libm = 'libm.so';
9 |
10 |
--------------------------------------------------------------------------------
/Source/Android.Log.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2010 The Android Open Source Project
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
5 | with the License. You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0
7 |
8 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
9 | on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
10 | the specific language governing permissions and limitations under the License.
11 |
12 | Android NDK C/C++ file:
13 | android/log.h
14 |
15 | Original source code was taken from:
16 | %NDK_DIR%/platforms/android-9/arch-arm/usr/include/
17 |
18 | Pascal translation by Yuriy Kotsarenko, August 2015.
19 | }
20 | unit Android.Log;
21 |
22 | {
23 | IMPORTANT NOTICE:
24 |
25 | This file is part of Android's set of stable system headers exposed by the Android NDK (Native Development Kit)
26 | since platform release 1.5
27 |
28 | Third-party source AND binary code relies on the definitions here to be FROZEN ON ALL UPCOMING PLATFORM RELEASES.
29 |
30 | - DO NOT MODIFY ENUMS (EXCEPT IF YOU ADD NEW 32-BIT VALUES)
31 | - DO NOT MODIFY CONSTANTS OR FUNCTIONAL MACROS
32 | - DO NOT CHANGE THE SIGNATURE OF FUNCTIONS IN ANY WAY
33 | - DO NOT CHANGE THE LAYOUT OR SIZE OF STRUCTURES
34 | }
35 |
36 | {
37 | Support routines to send messages to the Android in-kernel log buffer, which can later be accessed through the
38 | 'logcat' utility.
39 |
40 | Each log message must have
41 | - a priority
42 | - a log tag
43 | - some text
44 |
45 | The tag normally corresponds to the component that emits the log message, and should be reasonably small.
46 |
47 | Log message text may be truncated to less than an implementation-specific limit (e.g. 1023 characters max).
48 |
49 | Note that a newline character ("\n") will be appended automatically to your log message, if not already there.
50 | It is not possible to send several messages and have them appear on a single line in logcat.
51 |
52 | PLEASE USE LOGS WITH MODERATION:
53 |
54 | - Sending log messages eats CPU and slow down your application and the system.
55 |
56 | - The circular log buffer is pretty small (<64KB), sending many messages might push off other important log messages
57 | from the rest of the system.
58 |
59 | - In release builds, only send log messages to account for exceptional conditions.
60 |
61 | NOTE: These functions MUST be implemented by /system/lib/liblog.so
62 | }
63 |
64 | interface
65 |
66 | {$INCLUDE Android.Config.inc}
67 | {$INCLUDE Android.LibDefs.inc}
68 |
69 | {
70 | Android log priority values, in ascending priority order.
71 | }
72 | const
73 | ANDROID_LOG_UNKNOWN = 0;
74 | ANDROID_LOG_DEFAULT = 1; // only for SetMinPriority()
75 | ANDROID_LOG_VERBOSE = 2;
76 | ANDROID_LOG_DEBUG = 3;
77 | ANDROID_LOG_INFO = 4;
78 | ANDROID_LOG_WARN = 5;
79 | ANDROID_LOG_ERROR = 6;
80 | ANDROID_LOG_FATAL = 7;
81 | ANDROID_LOG_SILENT = 8; // only for SetMinPriority(); must be last
82 |
83 | {
84 | Send a simple string to the log.
85 | }
86 | function __android_log_write(prio: int32; tag, text: PAnsiChar): int32; cdecl;
87 | external liblog name '__android_log_write';
88 |
89 | implementation
90 |
91 | end.
92 |
--------------------------------------------------------------------------------
/Source/Android.Rect.pas:
--------------------------------------------------------------------------------
1 | {
2 | Copyright (C) 2010 The Android Open Source Project
3 |
4 | Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance
5 | with the License. You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0
7 |
8 | Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
9 | on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for
10 | the specific language governing permissions and limitations under the License.
11 |
12 | Android NDK C/C++ file:
13 | android/rect.h
14 |
15 | Original source code was taken from:
16 | %NDK_DIR%/platforms/android-9/arch-arm/usr/include/
17 |
18 | Pascal translation by Yuriy Kotsarenko, August 2015.
19 | }
20 | unit Android.Rect;
21 |
22 | interface
23 |
24 | {$INCLUDE Android.Config.inc}
25 |
26 | type
27 | PARect = ^ARect;
28 | ARect = record
29 | left: LongInt;
30 | top: LongInt;
31 | right: LongInt;
32 | bottom: LongInt;
33 | end;
34 |
35 | implementation
36 |
37 | end.
38 |
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GL.SolidPixelShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | SolidPixelShaderCode: TShaderString =
3 | 'uniform sampler2D SourceTex;' +
4 | 'varying vec4 OutpColor;' +
5 | 'varying vec2 OutpTexCoord;' +
6 | 'void main()' +
7 | '{' +
8 | ' gl_FragColor = OutpColor;' +
9 | '}';
10 |
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GL.TexturedPixelShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | TexturedPixelShaderCode: TShaderString =
3 | 'uniform sampler2D SourceTex;' +
4 | 'varying vec4 OutpColor;' +
5 | 'varying vec2 OutpTexCoord;' +
6 | 'void main()' +
7 | '{' +
8 | ' gl_FragColor = texture2D(SourceTex, OutpTexCoord) * OutpColor;' +
9 | '}';
10 |
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GL.VertexShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | VertexShaderCode: TShaderString =
3 | 'attribute vec2 InPos;' +
4 | 'attribute vec2 InpTexCoord;' +
5 | 'attribute vec4 InpColor;' +
6 | 'varying vec4 OutpColor;' +
7 | 'varying vec2 OutpTexCoord;' +
8 | 'void main()' +
9 | '{' +
10 | ' gl_Position = vec4(InPos, 0.0, 1.0);' +
11 | ' OutpColor = InpColor;' +
12 | ' OutpTexCoord = InpTexCoord;' +
13 | '}';
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GLES.SolidPixelShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | SolidPixelShaderCode: TShaderString =
3 | 'precision mediump float;' +
4 | 'uniform sampler2D SourceTex;' +
5 | 'varying vec4 OutpColor;' +
6 | 'varying vec2 OutpTexCoord;' +
7 | 'void main()' +
8 | '{' +
9 | ' gl_FragColor = OutpColor;' +
10 | '}';
11 |
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GLES.TexturedPixelShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | TexturedPixelShaderCode: TShaderString =
3 | 'precision mediump float;' +
4 | 'uniform sampler2D SourceTex;' +
5 | 'varying vec4 OutpColor;' +
6 | 'varying vec2 OutpTexCoord;' +
7 | 'void main()' +
8 | '{' +
9 | ' gl_FragColor = texture2D(SourceTex, OutpTexCoord) * OutpColor;' +
10 | '}';
11 |
--------------------------------------------------------------------------------
/Source/PXL.Canvas.GLES.VertexShader.inc:
--------------------------------------------------------------------------------
1 | const
2 | VertexShaderCode: TShaderString =
3 | 'attribute vec2 InPos;' +
4 | 'attribute vec2 InpTexCoord;' +
5 | 'attribute vec4 InpColor;' +
6 | 'varying vec4 OutpColor;' +
7 | 'varying vec2 OutpTexCoord;' +
8 | 'void main()' +
9 | '{' +
10 | ' gl_Position = vec4(InPos, 0.0, 1.0);' +
11 | ' OutpColor = InpColor;' +
12 | ' OutpTexCoord = InpTexCoord;' +
13 | '}';
--------------------------------------------------------------------------------
/Source/PXL.Consts.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Consts;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.TypeDef;
20 |
21 | resourcestring
22 | SAssetManagerNotSpecified = 'Asset Manager has not been specified.';
23 | SCannotRestoreTexture = 'Cannot restore texture to working status on device recovery.';
24 | SCannotRestoreTextures = 'Cannot restore textures to working status on device recovery.';
25 | SCannotRestoreCanvas = 'Cannot restore canvas to working status on device recovery.';
26 | SCannotRestoreImages = 'Cannot restore images to working status on device recovery.';
27 | SCanvasGeometryTooBig = 'Geometry passed to canvas is too big to be rendered.';
28 | SCouldNotActivateShaderEffect = 'Shader effect could not be activated.';
29 |
30 | implementation
31 |
32 | end.
33 |
--------------------------------------------------------------------------------
/Source/PXL.Devices.FM.GL.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Devices.FM.GL;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Types, PXL.Devices, PXL.Types.GL;
20 |
21 | type
22 | TFireGLDevice = class(TCustomDevice)
23 | private
24 | FContext: TGLDeviceContext;
25 | protected
26 | function GetDeviceContext: TCustomDeviceContext; override;
27 | public
28 | constructor Create(const AProvider: TCustomDeviceProvider);
29 | destructor Destroy; override;
30 |
31 | function Clear(const ClearTypes: TClearTypes; const ColorValue: TIntColor; const DepthValue: Single = 1.0;
32 | const StencilValue: Cardinal = 0): Boolean; override;
33 | end;
34 |
35 | implementation
36 |
37 | uses
38 | Macapi.OpenGL;
39 |
40 | constructor TFireGLDevice.Create(const AProvider: TCustomDeviceProvider);
41 | begin
42 | inherited;
43 |
44 | FContext := TGLDeviceContext.Create(Self);
45 |
46 | FTechnology := TDeviceTechnology.OpenGL;
47 |
48 | FTechVersion := Cardinal(FContext.Extensions.MajorVersion) shl 8;
49 |
50 | FTechFeatureVersion :=
51 | (Cardinal(FContext.Extensions.MajorVersion) shl 8) or
52 | (Cardinal(FContext.Extensions.MinorVersion and $0F) shl 4);
53 | end;
54 |
55 | destructor TFireGLDevice.Destroy;
56 | begin
57 | inherited;
58 |
59 | FContext.Free;
60 | end;
61 |
62 | function TFireGLDevice.GetDeviceContext: TCustomDeviceContext;
63 | begin
64 | Result := FContext;
65 | end;
66 |
67 | function TFireGLDevice.Clear(const ClearTypes: TClearTypes; const ColorValue: TIntColor; const DepthValue: Single;
68 | const StencilValue: Cardinal): Boolean;
69 | var
70 | Flags: Cardinal;
71 | begin
72 | if ClearTypes = [] then
73 | Exit(False);
74 |
75 | Flags := 0;
76 |
77 | if TClearType.Color in ClearTypes then
78 | begin
79 | glClearColor(TIntColorRec(ColorValue).Red / 255.0, TIntColorRec(ColorValue).Green / 255.0,
80 | TIntColorRec(ColorValue).Blue / 255.0, TIntColorRec(ColorValue).Alpha / 255.0);
81 | Flags := Flags or GL_COLOR_BUFFER_BIT;
82 | end;
83 |
84 | if TClearType.Depth in ClearTypes then
85 | begin
86 | glClearDepth(DepthValue);
87 | Flags := Flags or GL_DEPTH_BUFFER_BIT;
88 | end;
89 |
90 | if TClearType.Stencil in ClearTypes then
91 | begin
92 | glClearStencil(StencilValue);
93 | Flags := Flags or GL_STENCIL_BUFFER_BIT;
94 | end;
95 |
96 | glClear(Flags);
97 |
98 | Result := glGetError = GL_NO_ERROR;
99 | end;
100 |
101 | end.
102 |
--------------------------------------------------------------------------------
/Source/PXL.ImageFormats.Auto.pas:
--------------------------------------------------------------------------------
1 | unit PXL.ImageFormats.Auto;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | {< Automatic cross-platform image format handler instance creation. }
15 | interface
16 |
17 | {$INCLUDE PXL.Config.inc}
18 |
19 | uses
20 | PXL.ImageFormats;
21 |
22 | { Enable the following option to use Vampyre Imaging Library on non-Windows platforms instead of LCL. This provides
23 | superior performance but might not work on all platforms. }
24 | {.$DEFINE USE_VAMPYRE_IMAGING}
25 |
26 | {$IFDEF DELPHI}
27 | {$DEFINE USE_VAMPYRE_IMAGING}
28 | {$ENDIF}
29 |
30 | { Creates image format handler by default choosen depending on platform, OS and available support. }
31 | function CreateDefaultImageFormatHandler(const ImageFormatManager: TImageFormatManager): TCustomImageFormatHandler;
32 |
33 | implementation
34 |
35 | uses
36 | {$IFDEF MSWINDOWS}
37 | PXL.ImageFormats.WIC
38 | {$ELSE}
39 | {$IFDEF USE_VAMPYRE_IMAGING}
40 | PXL.ImageFormats.Vampyre
41 | {$ELSE}
42 | PXL.ImageFormats.FCL
43 | {$ENDIF}
44 | {$ENDIF};
45 |
46 | function CreateDefaultImageFormatHandler(const ImageFormatManager: TImageFormatManager): TCustomImageFormatHandler;
47 | begin
48 | {$IFDEF MSWINDOWS}
49 | Result := TWICImageFormatHandler.Create(ImageFormatManager);
50 | {$ELSE}
51 | {$IFDEF USE_VAMPYRE_IMAGING}
52 | Result := TVampyreImageFormatHandler.Create(ImageFormatManager);
53 | {$ELSE}
54 | Result := TFCLImageFormatHandler.Create(ImageFormatManager);
55 | {$ENDIF}
56 | {$ENDIF}
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Linux.config.inc:
--------------------------------------------------------------------------------
1 | {$IFDEF FPC}
2 | {$PACKRECORDS C}
3 | {$MODE DELPHI}
4 | {$ELSE}
5 | {$ALIGN ON}
6 | {$ENDIF}
7 |
8 |
--------------------------------------------------------------------------------
/Source/PXL.MicroConfig.inc:
--------------------------------------------------------------------------------
1 | (*
2 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
3 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
4 | *
5 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
6 | * compliance with the License. You may obtain a copy of the License at
7 | * http://www.apache.org/licenses/LICENSE-2.0
8 | *
9 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
10 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 | * See the License for the specific language governing permissions and limitations under the License.
12 | *)
13 |
14 | { Indicates that this config file has been processed (to avoid redeclaring or redefining of parameters in other
15 | configuration files). }
16 | {$DEFINE PXL_MICRO_CONFIG}
17 |
18 | {.$HINTS OFF}
19 | {.$WARNINGS OFF}
20 |
21 | {$SCOPEDENUMS ON}
22 | {$B-}
23 | {$I-}
24 |
25 | {$MODE ObjFPC}
26 | {$MODESWITCH ADVANCEDRECORDS}
27 | {$MODESWITCH TYPEHELPERS}
28 | {$MODESWITCH AUTODEREF}
29 |
30 | {$IFDEF CPU32}
31 | {$IFDEF I386}
32 | {$DEFINE CPUX86}
33 | {$ENDIF}
34 | {$ENDIF}
35 |
36 | {$IFDEF CPU64}
37 | {$DEFINE CPUX64}
38 | {$DEFINE PUREPASCAL}
39 | {$ENDIF}
40 |
41 | {$IF DEFINED(CPUARM) AND DEFINED(FPC_ABI_EABI)}
42 | {$DEFINE FPC_MMAP2}
43 | {$ELSE}
44 | {$DEFINE FPC_OLDMMAP}
45 | {$ENDIF}
46 |
47 | {$IFDEF EMBEDDED}
48 | {$DEFINE SINGLEBOARD}
49 | {.$DEFINE MICROBOARD}
50 | {$ALIGN 2}
51 | {$ENDIF}
52 |
53 |
54 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.DX11.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.DX11;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TDX11Provider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.DX11, PXL.Textures.DX11, PXL.Canvas.DX11;
36 |
37 | function TDX11Provider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TDX11Device.Create(Self);
40 | end;
41 |
42 | function TDX11Provider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TDX11Canvas.Create(Device);
45 | end;
46 |
47 | function TDX11Provider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TDX11LockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TDX11Provider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TDX11DrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.DX7.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.DX7;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TDX7Provider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.DX7, PXL.Textures.DX7, PXL.Canvas.DX7;
36 |
37 | function TDX7Provider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TDX7Device.Create(Self);
40 | end;
41 |
42 | function TDX7Provider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TDX7Canvas.Create(Device);
45 | end;
46 |
47 | function TDX7Provider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TDX7LockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TDX7Provider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TDX7DrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.DX9.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.DX9;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TDX9Provider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.DX9, PXL.Textures.DX9, PXL.Canvas.DX9;
36 |
37 | function TDX9Provider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TDX9Device.Create(Self);
40 | end;
41 |
42 | function TDX9Provider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TDX9Canvas.Create(Device);
45 | end;
46 |
47 | function TDX9Provider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TDX9LockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TDX9Provider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TDX9DrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.FM.DX11.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.FM.DX11;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TFireDX11Provider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.FM.DX11, PXL.Textures.DX11, PXL.Canvas.DX11;
36 |
37 | function TFireDX11Provider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TFireDX11Device.Create(Self);
40 | end;
41 |
42 | function TFireDX11Provider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TDX11Canvas.Create(Device);
45 | end;
46 |
47 | function TFireDX11Provider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TDX11LockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TFireDX11Provider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TDX11DrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.FM.DX9.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.FM.DX9;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TFireDX9Provider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.FM.DX9, PXL.Textures.DX9, PXL.Canvas.DX9;
36 |
37 | function TFireDX9Provider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TFireDX9Device.Create(Self);
40 | end;
41 |
42 | function TFireDX9Provider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TDX9Canvas.Create(Device);
45 | end;
46 |
47 | function TFireDX9Provider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TDX9LockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TFireDX9Provider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TDX9DrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.FM.GL.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.FM.GL;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TFireGLProvider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Textures.GL, PXL.Canvas.GL, PXL.Devices.FM.GL;
36 |
37 | function TFireGLProvider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TFireGLDevice.Create(Self);
40 | end;
41 |
42 | function TFireGLProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TGLCanvas.Create(Device);
45 | end;
46 |
47 | function TFireGLProvider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TGLLockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TFireGLProvider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TGLDrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.FM.GLES.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.FM.GLES;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TFireGLESProvider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Textures.GLES, PXL.Canvas.GLES, PXL.Devices.FM.GLES;
36 |
37 | function TFireGLESProvider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TFireGLESDevice.Create(Self);
40 | end;
41 |
42 | function TFireGLESProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TGLESCanvas.Create(Device);
45 | end;
46 |
47 | function TFireGLESProvider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TGLESLockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TFireGLESProvider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := TGLESDrawableTexture.Create(Device, AutoSubscribe);
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.GL.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.GL;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | { Remove the dot to enable Legacy Canvas that uses OpenGL 1.x for rendering.
19 | By default, newer canvas uses OpenGL 2.x for rendering. }
20 | {.$DEFINE UseLagacy1xCanvas}
21 |
22 | uses
23 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
24 |
25 | type
26 | TGLProvider = class(TGraphicsDeviceProvider)
27 | public
28 | function CreateDevice: TCustomDevice; override;
29 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
30 | function CreateLockableTexture(const Device: TCustomDevice;
31 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
32 | function CreateDrawableTexture(const Device: TCustomDevice;
33 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
34 | end;
35 |
36 | implementation
37 |
38 | uses
39 | {$IFDEF MSWINDOWS}
40 | PXL.Devices.GL.Win,
41 | {$ELSE}
42 | {$IFDEF DARWIN}
43 | {$IFDEF LCLCARBON}
44 | PXL.Devices.GL.Carbon,
45 | {$ELSE}
46 | PXL.Devices.GL.Cocoa,
47 | {$ENDIF}
48 | {$ELSE}
49 | PXL.Devices.GL.X,
50 | {$ENDIF}
51 | {$ENDIF}
52 |
53 | {$IFDEF UseLagacy1xCanvas}
54 | PXL.Canvas.GL.GL1,
55 | {$ELSE}
56 | PXL.Canvas.GL,
57 | {$ENDIF}
58 |
59 | PXL.Textures.GL;
60 |
61 | function TGLProvider.CreateDevice: TCustomDevice;
62 | begin
63 | Result := TGLDevice.Create(Self);
64 | end;
65 |
66 | function TGLProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
67 | begin
68 | Result := TGLCanvas.Create(Device);
69 | end;
70 |
71 | function TGLProvider.CreateLockableTexture(const Device: TCustomDevice;
72 | const AutoSubscribe: Boolean): TCustomLockableTexture;
73 | begin
74 | Result := TGLLockableTexture.Create(Device, AutoSubscribe);
75 | end;
76 |
77 | function TGLProvider.CreateDrawableTexture(const Device: TCustomDevice;
78 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
79 | begin
80 | Result := TGLDrawableTexture.Create(Device, AutoSubscribe);
81 | end;
82 |
83 | end.
84 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.GLES.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.GLES;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TGLESProvider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | {$IFDEF SINGLEBOARD}
36 | PXL.Devices.GLES.RPi,
37 | {$ELSE}
38 | {$IFNDEF ANDROID}
39 | PXL.Devices.GLES.X,
40 | {$ENDIF}
41 | {$ENDIF}
42 |
43 | PXL.Textures.GLES, PXL.Canvas.GLES;
44 |
45 | function TGLESProvider.CreateDevice: TCustomDevice;
46 | begin
47 | {$IFNDEF ANDROID}
48 | Result := TGLESDevice.Create(Self);
49 | {$ELSE}
50 | Result := nil;
51 | {$ENDIF}
52 | end;
53 |
54 | function TGLESProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
55 | begin
56 | Result := TGLESCanvas.Create(Device);
57 | end;
58 |
59 | function TGLESProvider.CreateLockableTexture(const Device: TCustomDevice;
60 | const AutoSubscribe: Boolean): TCustomLockableTexture;
61 | begin
62 | Result := TGLESLockableTexture.Create(Device, AutoSubscribe);
63 | end;
64 |
65 | function TGLESProvider.CreateDrawableTexture(const Device: TCustomDevice;
66 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
67 | begin
68 | Result := TGLESDrawableTexture.Create(Device, AutoSubscribe);
69 | end;
70 |
71 | end.
72 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.SRT.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers.SRT;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Devices, PXL.Textures, PXL.Canvas, PXL.Providers;
20 |
21 | type
22 | TSRTProvider = class(TGraphicsDeviceProvider)
23 | public
24 | function CreateDevice: TCustomDevice; override;
25 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; override;
26 | function CreateLockableTexture(const Device: TCustomDevice;
27 | const AutoSubscribe: Boolean): TCustomLockableTexture; override;
28 | function CreateDrawableTexture(const Device: TCustomDevice;
29 | const AutoSubscribe: Boolean): TCustomDrawableTexture; override;
30 | end;
31 |
32 | implementation
33 |
34 | uses
35 | PXL.Devices.SRT, PXL.Textures.SRT, PXL.Canvas.SRT;
36 |
37 | function TSRTProvider.CreateDevice: TCustomDevice;
38 | begin
39 | Result := TSRTDevice.Create(Self);
40 | end;
41 |
42 | function TSRTProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := TSRTCanvas.Create(Device);
45 | end;
46 |
47 | function TSRTProvider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := TSRTLockableTexture.Create(Device, AutoSubscribe);
51 | end;
52 |
53 | function TSRTProvider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := nil;
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Providers.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Providers;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | {< Device-bound factory implementation that creates secondary components such as canvas and textures. }
15 | interface
16 |
17 | {$INCLUDE PXL.Config.inc}
18 |
19 | uses
20 | PXL.Devices, PXL.Textures, PXL.Canvas;
21 |
22 | type
23 | { Abstract device provider that is able to create new instances of important rendering classes such as canvas and
24 | textures. }
25 | TGraphicsDeviceProvider = class abstract(TCustomDeviceProvider)
26 | public
27 | { This function creates new canvas instance that is tied to the given device. }
28 | function CreateCanvas(const Device: TCustomDevice): TCustomCanvas; virtual;
29 |
30 | { This function creates new lockable texture instance that is tied to the given device. }
31 | function CreateLockableTexture(const Device: TCustomDevice;
32 | const AutoSubscribe: Boolean = True): TCustomLockableTexture; virtual;
33 |
34 | { This function creates new drawable texture instance that is tied to the given device.
35 | If drawable textures are not supported in this provider, @nil is returned. }
36 | function CreateDrawableTexture(const Device: TCustomDevice;
37 | const AutoSubscribe: Boolean = True): TCustomDrawableTexture; virtual;
38 | end;
39 |
40 | implementation
41 |
42 | function TGraphicsDeviceProvider.CreateCanvas(const Device: TCustomDevice): TCustomCanvas;
43 | begin
44 | Result := nil;
45 | end;
46 |
47 | function TGraphicsDeviceProvider.CreateLockableTexture(const Device: TCustomDevice;
48 | const AutoSubscribe: Boolean): TCustomLockableTexture;
49 | begin
50 | Result := nil;
51 | end;
52 |
53 | function TGraphicsDeviceProvider.CreateDrawableTexture(const Device: TCustomDevice;
54 | const AutoSubscribe: Boolean): TCustomDrawableTexture;
55 | begin
56 | Result := nil;
57 | end;
58 |
59 | end.
60 |
--------------------------------------------------------------------------------
/Source/PXL.Sensors.Types.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Sensors.Types;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | SysUtils, PXL.Boards.Types;
20 |
21 | type
22 | TCustomSensor = class
23 | end;
24 |
25 | ESensorGeneric = class(Exception);
26 | ESensorDataRead = class(ESensorGeneric);
27 | ESensorDataWrite = class(ESensorGeneric);
28 | ESensorNoDataPort = class(ESensorGeneric);
29 | ESensorInvalidAddress = class(ESensorGeneric);
30 | ESensorInvalidChipID = class(ESensorGeneric);
31 | ESensorNoSystemCore = class(ESensorGeneric);
32 | ESensorNoGPIO = class(ESensorGeneric);
33 |
34 | resourcestring
35 | SSensorDataRead = 'Unable to read <%d> bytes from sensor.';
36 | SSensorDataWrite = 'Unable to write <%d> bytes to sensor.';
37 | SSensorNoDataPort = 'A valid data port is required for the sensor.';
38 | SSensorInvalidAddress = 'The specified sensor address <%x> is invalid.';
39 | SSensorInvalidChipID = 'Invalid sensor Chip ID, expected <%x>, found <%x>.';
40 | SSensorNoSystemCore = 'A valid system core is required for the sensor.';
41 | SSensorNoGPIO = 'A valid GPIO interface is required for the sensor.';
42 |
43 | implementation
44 |
45 | end.
46 |
--------------------------------------------------------------------------------
/Source/PXL.Sysfs.ADC.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Sysfs.ADC;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.TypeDef, PXL.Sysfs.Types, PXL.Boards.Types;
20 |
21 | type
22 | TSysfsADC = class(TCustomADC)
23 | private const
24 | MaximumSupportedChannels = 64;
25 | private
26 | FSystemPath: StdString;
27 | protected
28 | function GetRawValue(const Channel: TPinChannel): Cardinal; override;
29 | public
30 | constructor Create(const ASystemPath: StdString);
31 | end;
32 |
33 | EADCGeneric = class(ESysfsGeneric);
34 | EADCInvalidChannel = class(EADCGeneric);
35 |
36 | resourcestring
37 | SADCSpecifiedChannelInvalid = 'The specified ADC channel <%d> is invalid.';
38 |
39 | implementation
40 |
41 | uses
42 | SysUtils;
43 |
44 | constructor TSysfsADC.Create(const ASystemPath: StdString);
45 | begin
46 | inherited Create;
47 |
48 | FSystemPath := ASystemPath;
49 | end;
50 |
51 | function TSysfsADC.GetRawValue(const Channel: TPinChannel): Cardinal;
52 | begin
53 | if Channel > MaximumSupportedChannels then
54 | raise EADCInvalidChannel.Create(Format(SADCSpecifiedChannelInvalid, [Channel]));
55 |
56 | Result := StrToInt(Trim(ReadTextFromFile(FSystemPath + '/in_voltage' + IntToStr(Channel) + '_raw')));
57 | end;
58 |
59 | end.
60 |
61 |
--------------------------------------------------------------------------------
/Source/PXL.Sysfs.Core.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Sysfs.Core;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | uses
17 | PXL.Boards.Types;
18 |
19 | type
20 | TSysfsSystemCore = class(TCustomSystemCore)
21 | protected
22 | function GetTickCount: TTickCounter; override;
23 | procedure MicroDelay(const Microseconds: Cardinal); override;
24 | end;
25 |
26 | implementation
27 |
28 | uses
29 | PXL.Timing;
30 |
31 | function TSysfsSystemCore.GetTickCount: TTickCounter;
32 | begin
33 | Result := Round(GetSystemTimeValue * 1000.0);
34 | end;
35 |
36 | procedure TSysfsSystemCore.MicroDelay(const Microseconds: Cardinal);
37 | begin
38 | MicroSleep(Microseconds);
39 | end;
40 |
41 | end.
42 |
--------------------------------------------------------------------------------
/Source/PXL.Textures.SRT.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Textures.SRT;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Types, PXL.Surfaces, PXL.Textures;
20 |
21 | type
22 | TSRTLockableTexture = class(TCustomLockableTexture)
23 | private
24 | FSurface: TPixelSurface;
25 | protected
26 | function DoInitialize: Boolean; override;
27 | procedure DoFinalize; override;
28 | public
29 | function DoLock(const Rect: TIntRect; out LockedPixels: TLockedPixels): Boolean; override;
30 | function DoUnlock: Boolean; override;
31 |
32 | property Surface: TPixelSurface read FSurface;
33 | end;
34 |
35 | implementation
36 |
37 | uses
38 | SysUtils;
39 |
40 | function TSRTLockableTexture.DoInitialize: Boolean;
41 | begin
42 | if (Width < 1) or (Height < 1) then
43 | Exit(False);
44 |
45 | if FSurface = nil then
46 | FSurface := TPixelSurface.Create;
47 |
48 | FSurface.SetSize(Width, Height, FPixelFormat);
49 |
50 | FPixelFormat := FSurface.PixelFormat;
51 | FBytesPerPixel := FSurface.BytesPerPixel;
52 |
53 | FSurface.Clear(0);
54 | Result := True;
55 | end;
56 |
57 | procedure TSRTLockableTexture.DoFinalize;
58 | begin
59 | FreeAndNil(FSurface);
60 | end;
61 |
62 | function TSRTLockableTexture.DoLock(const Rect: TIntRect; out LockedPixels: TLockedPixels): Boolean;
63 | begin
64 | Result := LockSurface(FSurface, Rect, LockedPixels);
65 | end;
66 |
67 | function TSRTLockableTexture.DoUnlock: Boolean;
68 | begin
69 | Result := True;
70 | end;
71 |
72 | end.
73 |
--------------------------------------------------------------------------------
/Source/PXL.Types.SRT.pas:
--------------------------------------------------------------------------------
1 | unit PXL.Types.SRT;
2 | (*
3 | * This file is part of Asphyre Framework, also known as Platform eXtended Library (PXL).
4 | * Copyright (c) 2015 - 2017 Yuriy Kotsarenko. All rights reserved.
5 | *
6 | * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in
7 | * compliance with the License. You may obtain a copy of the License at
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software distributed under the License is
11 | * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 | * See the License for the specific language governing permissions and limitations under the License.
13 | *)
14 | interface
15 |
16 | {$INCLUDE PXL.Config.inc}
17 |
18 | uses
19 | PXL.Types, PXL.Surfaces, PXL.Devices;
20 |
21 | type
22 | TSRTDeviceContextWriter = class abstract(TCustomDeviceContextWriter)
23 | private
24 | procedure SetSurface(const Value: TConceptualPixelSurface); virtual; abstract;
25 | procedure SetSurfaceSize(const Value: TPoint2i); virtual; abstract;
26 | public
27 | property Surface: TConceptualPixelSurface write SetSurface;
28 | property SurfaceSize: TPoint2i write SetSurfaceSize;
29 | end;
30 |
31 | TSRTDeviceContext = class(TCustomDeviceContext)
32 | private type
33 | TWriter = class(TSRTDeviceContextWriter)
34 | protected
35 | procedure SetSurface(const Value: TConceptualPixelSurface); override;
36 | procedure SetSurfaceSize(const Value: TPoint2i); override;
37 | end;
38 | private
39 | FSurface: TConceptualPixelSurface;
40 | FSurfaceSize: TPoint2i;
41 | public
42 | constructor Create(const ADevice: TCustomDevice; out AWriter: TSRTDeviceContextWriter);
43 |
44 | property Surface: TConceptualPixelSurface read FSurface;
45 | property SurfaceSize: TPoint2i read FSurfaceSize;
46 | end;
47 |
48 | implementation
49 |
50 | {$REGION 'TSRTDeviceContext.TWriter'}
51 |
52 | procedure TSRTDeviceContext.TWriter.SetSurface(const Value: TConceptualPixelSurface);
53 | begin
54 | TSRTDeviceContext(Context).FSurface := Value;
55 | end;
56 |
57 | procedure TSRTDeviceContext.TWriter.SetSurfaceSize(const Value: TPoint2i);
58 | begin
59 | TSRTDeviceContext(Context).FSurfaceSize := Value;
60 | end;
61 |
62 | {$ENDREGION}
63 | {$REGION 'TSRTDeviceContext'}
64 |
65 | constructor TSRTDeviceContext.Create(const ADevice: TCustomDevice; out AWriter: TSRTDeviceContextWriter);
66 | begin
67 | inherited Create(ADevice);
68 |
69 | AWriter := TWriter.Create(Self);
70 | end;
71 |
72 | {$ENDREGION}
73 |
74 | end.
75 |
--------------------------------------------------------------------------------
/Tools/readme.txt:
--------------------------------------------------------------------------------
1 | Platform eXtended Library
2 |
3 | -------------------------------------------------------------------------------
4 |
5 | Previously, official tools were available in this sub-folder. However, since
6 | now there are so many supported platforms, the tools are available as separate
7 | download from our web site: http://asphyre.net
8 |
--------------------------------------------------------------------------------
/readme.txt:
--------------------------------------------------------------------------------
1 | Platform eXtended Library v1.1.0, dated 9-Dec-2017.
2 | Copyright (c) 2000 - 2017 Yuriy Kotsarenko
3 | https://asphyre.sourceforge.net
4 | https://asphyre.net
5 |
6 | -------------------------------------------------------------------------------
7 |
8 | This product requires either Embarcadero Delphi XE 8 (or any later version) or
9 | FreePascal 3.0 with Lazarus 1.4 (or any later versions).
10 |
11 | When used with Embarcadero Delphi, the following platforms are supported:
12 |
13 | 1) Windows 32 and 64-bit
14 | 2) Mac OS X
15 | 3) Android
16 | 4) iOS 32 and 64-bit
17 |
18 | Installation is quite straightforward, you just need to add full path to
19 | "Source" folder in IDE's "library path" for each of the platforms. Please visit
20 | our web site for additional installation instructions.
21 |
22 | When used with FreePascal/Lazarus, the following platforms are supported:
23 |
24 | 1) Windows 32 and 64-bit
25 | 2) Mac OS X Carbon (32-bit) and Cocoa (64-bit)
26 | 3) Linux 32 and 64-bit
27 | 4) Linux ARM-EL and ARM-HF
28 | 5) Compact SingleBoard Computers (w/Linux OS):
29 | I) Raspberry PI with native support for fast System Clock, GPIO, I2C and SPI.
30 | GPU rendering both on HDMI display and to external displays is supported.
31 | II) Intel Galileo gen1 and gen2 with native support for GPIO (including
32 | "fast" pins), I2C and SPI.
33 | III) Intel Edison
34 | IV) Other generic platforms with support for GPIO, I2C, SPI, UART and V4L2.
35 | 6) Android (experimental)
36 |
37 | If you have a working FreePascal/Lazarus environment with cross-compilation
38 | to the necessary platforms, then no additional installation is required, just
39 | open any of the available samples and start working from there.
40 |
41 | In order to use PXL documentation, locate "Help" sub-folder in this package
42 | and open "index.html". Alternatively, you can create a shortcut to this file
43 | on your desktop.
44 |
45 | Remember that this library and its source code are distributed under terms of
46 | Apache License version 2.0. By using this product, you acknowledge your consent
47 | to be bound by the terms of Apache v2 license.
48 |
49 | If you need to use this framework for a project with a different licensing
50 | requirements, feel free to contact the author for more options.
51 |
52 | -------------------------------------------------------------------------------
53 | Some of the included artwork was made by Humberto Andrade and is copyright
54 | protected. Any redistribution of this artwork outside of the framework is
55 | strictly prohibited.
--------------------------------------------------------------------------------