Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
62 commits
Select commit Hold shift + click to select a range
80e72a5
Added readme
sysrpl Jul 30, 2017
a672d81
Added readme
sysrpl Jul 30, 2017
06d9190
Added readme
sysrpl Jul 30, 2017
d0224f3
Added library files
sysrpl Jul 30, 2017
5745d3d
Changes to generic containers
sysrpl Jul 30, 2017
936fc77
Changed to ftp and networking
May 12, 2018
e29615e
Updated a few examples
May 13, 2018
fccb0bb
Fixed multi line fonts and scrolling
May 13, 2018
98a7960
Removed grids unit
May 13, 2018
8cca58a
Added ftpclient example
May 14, 2018
61da1e4
Tabify
May 19, 2018
6ae73af
Fixed several ifdefs
May 20, 2018
ccb1633
Added new package codebotctrls and several other changes
Mar 25, 2019
5918f9a
Added new rendering package and removed LCL controls
Feb 23, 2020
f959412
Added GLES unit
Feb 24, 2020
55a78a9
Changes to shader program push and pop
Feb 24, 2020
8752627
Added texture object
Feb 24, 2020
8c02025
Added viewport stack and bitmap saving
Feb 24, 2020
903ac5c
Fixed texture flipping and added managed objects
Feb 26, 2020
4cdea1e
Added utf8 string functions
Feb 26, 2020
1b08545
Added world, assets, and tools
Mar 1, 2020
6392f01
Restructuring
sysrpl May 16, 2021
f16b14a
Added serial port class
sysrpl Jul 21, 2021
0e2d285
REgistered new controls
sysrpl Sep 6, 2021
1f92d4c
Added color sesnor
sysrpl Sep 6, 2021
ff88f97
Added text manager and curl
sysrpl Sep 29, 2021
dd9c2f5
Added font manager
sysrpl Nov 12, 2021
5514a4b
Lots of changes
sysrpl Jun 13, 2022
4221f40
Changes for Microsoft Windows
sysrpl Jun 27, 2022
364207b
Added export function and other changes
sysrpl Jun 28, 2022
3c933ea
Windows platform changes
sysrpl Jun 29, 2022
c298848
Added resource and asset stream support
sysrpl Jun 29, 2022
d0a3cf0
Linux ifdefs
sysrpl Jun 30, 2022
c85e0ed
Longtime update from private git server
sysrpl Jun 30, 2022
43d6330
Edited README.md
sysrpl Jun 30, 2022
8fc5222
Added license
sysrpl Jun 30, 2022
49f7f67
Edited README.md
sysrpl Jun 30, 2022
8cd059d
Added LICENSE
sysrpl Jul 1, 2022
dd4170c
Merge branch 'master' of github.com:sysrpl/Codebot.Cross
sysrpl Jul 1, 2022
374a298
Edited README.md
sysrpl Jul 1, 2022
1a724ab
Edited README.md
sysrpl Jul 2, 2022
4677202
Added Gtk3 support and moved codbot.inc
sysrpl Jul 21, 2022
50ab760
Added Window supporting features
sysrpl Jul 23, 2022
5cbab63
Upgraded OpenSSL to version 3
sysrpl Sep 13, 2023
777f331
Fixed registration include paths
sysrpl Sep 13, 2023
c438261
Used Meld to sync previous work
sysrpl Sep 13, 2023
cd0ec31
Added socket DNI before SSL connect
sysrpl Sep 14, 2023
4adae52
Added a default user agent string
sysrpl Sep 14, 2023
62362d7
Fixed tabulation in many files
sysrpl Sep 16, 2023
6e70b16
Added new netowrking storage features
sysrpl Sep 30, 2023
87cdd76
Added buttons to TCustomDrawList
sysrpl Oct 1, 2023
0d3391f
Moved TButtonRects
sysrpl Oct 1, 2023
e295dbb
Exposed keyboard events on scrolling list
sysrpl Oct 2, 2023
51c7557
Added WebSendRequest
sysrpl Oct 4, 2023
c4f628e
Moved design to its own folder and a few other changes
sysrpl Oct 17, 2023
4a34c87
Fixed tab indentation
sysrpl Oct 17, 2023
f6f8fdf
Removed deprecated code
sysrpl Oct 17, 2023
393f689
Fixed Linux image saving bug and moved codebot_controls_design
sysrpl Oct 20, 2023
2050411
Removed codebodt_controls_design
sysrpl Oct 20, 2023
8a9cbd2
First revision of multipart http post implementation
sysrpl Oct 21, 2023
313f747
Added aggregate stream, http post, and async socket
sysrpl Oct 22, 2023
877a4c3
Added TExternalProcess component
sysrpl Nov 8, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
674 changes: 674 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

18 changes: 16 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
<h1>Cross Codebot</h1>
# Codebot Cross Platform Library

This is the Cross Codebot repository.
This is the official git repository for the Codebot Cross library. It contains the source and assets code for three Free Pascal packges.

The official landing page for the library with detailed information, including installation, documentation, and examples about this library is [located here](https://cross.codebot.org).

## Package Codebot

The Codebot package defines types and routines for general purpose use. These include items such as string and file system handling, collections, advanced graphics contexts, networks sockets, animation, and much more.

## Package Codebot Control

The Codebot Controls package defines classs and routines related to visual controls. Many of these controls are original, unique, and all make use of the advanced ISurface cross platform drawing context provided by the Codebot package. Some of the controls in this pake include TContentGrid, TIndeterminateProgress, THuePicker and more. Custom forms and custom IDE designers are also included in this package.

## Package Codebot Rendering

The Codebot Rendering package provides a organzied and easy to use class library for working with OpenGL ES, shader programming, vertex, render, and pixels buffers, as well as input processing.
12 changes: 12 additions & 0 deletions assets/shaders/colorvertexbuffer
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
uniform mat4 projection;
uniform mat4 modelview;

attribute vec3 xyz;
attribute vec2 uv;

varying vec2 coord;

void main() {
coord = uv;
gl_Position = vec4(projection * modelview * xyz, 1.0);
}
5 changes: 5 additions & 0 deletions assets/shaders/colorvertexbuffer.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
varying vec4 color;

void main() {
gl_FragColor = color;
}
12 changes: 12 additions & 0 deletions assets/shaders/colorvertexbuffer.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
uniform mat4 projection;
uniform mat4 modelview;

attribute vec3 xyz;
attribute vec4 rgba;

varying vec4 color;

void main() {
color = rgba;
gl_Position = projection * modelview * vec4(xyz, 1.0);
}
12 changes: 12 additions & 0 deletions assets/shaders/texvertexbuffer
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
uniform mat4 projection;
uniform mat4 modelview;

attribute vec3 xyz;
attribute vec2 uv;

varying vec2 coord;

void main() {
coord = uv;
gl_Position = vec4(projection * modelview * xyz, 1.0);
}
7 changes: 7 additions & 0 deletions assets/shaders/texvertexbuffer.frag
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
uniform sampler2D tex;

varying vec2 coord;

void main() {
gl_FragColor = texture2D(tex, coord);
}
12 changes: 12 additions & 0 deletions assets/shaders/texvertexbuffer.vert
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
uniform mat4 projection;
uniform mat4 modelview;

attribute vec3 xyz;
attribute vec2 uv;

varying vec2 coord;

void main() {
coord = uv;
gl_Position = projection * modelview * vec4(xyz, 1.0);
}
Binary file added assets/textures/grimnight.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/textures/interstellar.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/textures/orangesky.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/textures/skybox.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added assets/textures/violentdays.jpg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
42 changes: 33 additions & 9 deletions examples/clock/clock.lpi
Original file line number Diff line number Diff line change
@@ -1,30 +1,54 @@
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<Version Value="11"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="clock"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Resources Count="1">
<Resource_0 FileName="../../../../../../Pictures/close.png" Type="RCDATA" ResourceName="CLOSE"/>
</Resources>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<BuildModes Count="2">
<Item1 Name="Default" Default="True"/>
<Item2 Name="linux-i386">
<CompilerOptions>
<Version Value="11"/>
<Target>
<Filename Value="clock"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib/$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<TargetCPU Value="i386"/>
<TargetOS Value="linux"/>
</CodeGeneration>
<Linking>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
</Item2>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
<FormatVersion Value="2"/>
<Modes Count="1">
<Mode0 Name="default"/>
</Modes>
</RunParams>
<RequiredPackages Count="2">
<Item1>
Expand All @@ -42,7 +66,7 @@
<Unit1>
<Filename Value="main.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<ComponentName Value="ClockWidget"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<UnitName Value="Main"/>
Expand Down
2 changes: 1 addition & 1 deletion examples/clock/clock.lpr
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TClockWidget, ClockWidget);
Application.Run;
end.

Loading