Leroy Hopson
c1334896d6
Explicity check not javascript when including pseudoterminal
...
If compiling for javascript platform on linux '__unix__' will be defined,
so instead check for the abscence of '__EMSCRIPTEN__'.
2021-06-15 14:02:01 +07:00
Leroy Hopson
caf3bf1910
Use standard OS macros
...
As per: https://sourceforge.net/p/predef/wiki/OperatingSystems/
2021-06-08 22:59:12 +07:00
Leroy Hopson
fbb23661d3
Get KeyList constants from GDNative API
...
Previously KeyList constants came from the GlobalConstants.hpp header,
but this did not work when compiling for HTML5. Therefore, we now get
the globals constants from the GDNative API.
Throws the error:
`LNK2019: unresolved external symbol godot_get_global_constants referenced in function "private: static void __cdecl godot::Terminal::_populate_key_list(void)" (?_populate_key_list@Terminal@godot@@CAXXZ)`
in GitHub Windows action. So use the old technique on Windows for now.
This is a prerequisite for HTML5 support.
2021-06-06 21:57:06 +07:00
Leroy Hopson
6e455738b8
Format c++ files using clang-format
...
Add git pre-commit hooks to help with automatic formatting.
2021-06-06 20:05:22 +07:00
Leroy Hopson
472f0f573b
Add transparency support for theme colors
...
Closes #19 .
2020-11-29 15:53:50 +07:00
Leroy Hopson
3e177b781e
Set a default theme if theme property is not set
...
This means that the terminal is no longer blank if no theme has been
set.
2020-11-29 15:53:50 +07:00
Leroy Hopson
8b25be74c0
Don't swap red and blue channels of theme colors
...
Fixes #18
2020-11-29 13:32:14 +07:00
Leroy Hopson
6a626905d6
Use "Light Cyan" color from theme
...
Previously this color was ignored.
2020-11-29 13:32:14 +07:00
Leroy Hopson
570896b9c0
Provide correct arguments to execvp
...
Previously no arguments were provided, but by convention argv[0] should
be the name of the program.
Providing this argumens enables Psuedoterminal node to work on macOS.
2020-11-21 13:55:05 +07:00
Leroy Hopson
c075ae7418
Enable compiling on macOS 64-bit using llvm
...
Closes #6
2020-11-20 21:32:43 +07:00
Leroy Hopson
007182b117
Enable compiling 64-bit on Windows using MSVC
...
Closes #5
2020-11-10 13:44:29 +07:00
Leroy Hopson
399acf00c7
Use alloc_c_string() to convert String to char*
...
Using get_data() would sometimes result in the wrong data being written.
Fixes #12
2020-11-07 18:13:48 +07:00
Leroy Hopson
630e0104d5
Add support for Windows 64-bit
...
Tested on NixOS, Ubuntu and Arch Linux. Not yet able to compile for
Windows 32-bit on NixOS or on Windows itself.
Part of #5
2020-11-07 17:11:25 +07:00
Leroy Hopson
9e1d0b8ee2
Position background rect at 0,0
...
This is important when terminal is a child of a Container node and we
set the margin properties, otherwise the background rect is drawn with
an offset.
Former-commit-id: e68d2f55c9
2020-10-16 12:55:41 +07:00
Leroy Hopson
9bd17ec8dc
Multiple changes
...
Former-commit-id: db8e674358
2020-10-05 17:56:57 +07:00
Leroy Hopson
a55a05d3a4
Make Terminal a tool script
...
Former-commit-id: f63246d8ea
2020-10-05 17:56:57 +07:00
Leroy Hopson
9bdf69f6f5
Center cell string vertically
...
This prevents overlapping so we no longer need to draw all background
cells before the foreground.
Former-commit-id: faca53fe28
2020-10-05 17:56:57 +07:00
Leroy Hopson
cc457b8b9a
Don't cache true colors
...
If a true color has been set it will have code -1 regardless of the
actual color. Therefore, it shouldn't be stored in the color cache
dictionary otherwise all true color cells will be colored the most
recently set value.
Former-commit-id: 0d14fd1e47
2020-10-05 17:56:57 +07:00
Leroy Hopson
2a5e07aa48
Change write method to accept both String and PoolByteArray
...
Will print a warning if neither of these types is used as an argument.
Former-commit-id: 57aed28a0e
2020-10-05 17:56:57 +07:00
Leroy Hopson
11657d50f7
Copy old cells to new cells when resizing
...
Previously all cells were erased which resulted in the screen becoming
blank in some places until it was redrawn.
Former-commit-id: ada8b1087d
2020-10-05 17:56:57 +07:00
Leroy Hopson
313f6b8b60
Ensure terminal is initialized to the correct size
...
Moves the call to update_size() from _init() to _ready() to ensure
Terminal is initialized to the correct size.
Former-commit-id: 66b061bf8b
2020-10-05 17:56:57 +07:00
Leroy Hopson
5e33e560f1
Move input handling into the Terminal node
...
Former-commit-id: d64800229f
2020-10-05 17:56:57 +07:00
Leroy Hopson
9d06d7c313
Update file format
...
Automatically updated by VSCode upon saving the files.
Former-commit-id: 0dabc56076
2020-10-05 17:56:57 +07:00
Leroy Hopson
ee6d7cb0fa
Refactor file structure
...
Former-commit-id: 3eecf504cf
2020-10-05 17:56:57 +07:00