Pietro Gagliardi
0f4602ee0f
Moved the allocation functions to sharedbits/. Not fully working yet...
2019-05-30 23:11:08 -04:00
Pietro Gagliardi
9daef443b2
Moved uiQueueMain() to common/init.c to avoid having multiple initialized variables; the per-OS versions are now uiprivSysQueueMain(). Also more TODOs.
2019-05-30 01:39:43 -04:00
Pietro Gagliardi
ab5b3076ed
Removed uiInitError length checking and just truncated too-long messages with an ellipsis. Also removed the non-printf version of uiprivReportInitError.
2019-05-30 01:16:33 -04:00
Pietro Gagliardi
19ad0d33a3
Changed uiInit() to return bool instead of int, now that we've settled on using bool.
2019-05-29 21:10:44 -04:00
Pietro Gagliardi
b5927353e0
Started work to test that functions dislike being called before uiInit() or on a different thread; better to do it now than later.
2019-05-28 21:54:13 -04:00
Pietro Gagliardi
b3f2214f3e
okay what the fuck
2019-05-27 11:36:59 -04:00
Pietro Gagliardi
79ecadb909
Fuck the industry domination of C++ and its standard not forcing compliance in both C and C++ modes, if this is the case here. If not, then fuck MSVC.
2019-05-27 11:18:52 -04:00
Pietro Gagliardi
a6c1e1ed17
Fixed build errors. Now to fix runtime errors.
2019-05-27 11:02:23 -04:00
Pietro Gagliardi
9bec2005a1
Added smprintf() and outbuf to the testingpriv.h functions, introducing a simpler outbuf API along the way. Changing the test suite to actually use this comes next.
2019-05-19 23:15:35 -04:00
Pietro Gagliardi
40508a457c
Changed testingSet to use testingprivArray.
2019-05-19 18:06:58 -04:00
Pietro Gagliardi
02b61c0156
Changed uiEvent.handlers into a uiprivArray; also fixed the buggy implementations of InsertAt and Delete.
2019-05-19 14:37:32 -04:00
Pietro Gagliardi
745440b1e7
Wrote array manipulation functions. Now to convert events.c to use them.
2019-05-19 12:52:06 -04:00
Pietro Gagliardi
96c346c2dd
Added uiprivAlloc() and friends and implemented uiNewEvent().
2019-05-16 23:02:03 -04:00
Pietro Gagliardi
bd84da7179
More implementation of uiEvent. Now we'll need to deal with memory allocation.
2019-05-16 12:27:04 -04:00
Pietro Gagliardi
101df7a469
Added uiEvent-specific programmer errors. Next up: actually implementing uiEvent.
2019-05-14 11:03:03 -04:00
Pietro Gagliardi
7c128e7bcd
Added internal errors and refined the error handling somewhat.
2019-05-13 21:30:18 -04:00
Pietro Gagliardi
45f69cf058
Renamed programmererror.c to errors.c so we can add internal errors (which used to be called implementation bugs).
2019-05-13 10:46:42 -04:00
Pietro Gagliardi
7022e6f268
More programmer error refinement.
2019-05-13 06:37:19 -04:00
Pietro Gagliardi
b3049b0a1e
Started reintegrating what used to be called user bugs; they're now called programmer errors. We'll create a much more systematic approach to them. Implemented on macOS.
2019-05-12 22:17:24 -04:00
Pietro Gagliardi
f97383f66c
Rearranged things so that uiInit() itself is in common/init.c and the OS-specific initialization code is its own standalone internal function. This'll make testing a bit easier, especially after the next few commits, and will allow me to test pre-initialization and cross-thread stuff a bit more easily.
2019-05-09 12:07:28 -04:00
Pietro Gagliardi
f7867f3427
ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.)
2019-04-21 15:08:09 -04:00
Pietro Gagliardi
c6aa8c3324
Pruned windows/init.cpp to a minimal initialization that we can test things with, which includes adding a function to load err->Message with a formatted string.
...
Also added a better error for if InitCommonControlsEx() returns 0 without setting the last error; this usually means that v5 is loaded.
Fixes #451 .
Updates #337 .
2019-04-21 14:49:16 -04:00
Pietro Gagliardi
484989e925
Implemented uiInit() on macOS. The tests work so far!
2019-04-20 21:38:26 -04:00
Pietro Gagliardi
74b1e2780d
Implemented the cross-platform bits of uiInit().
2019-04-19 12:32:13 -04:00
Pietro Gagliardi
992d8694a9
Let's start the remodel. Move almost everything out of the way.
2019-04-08 20:36:21 -04:00
Pietro Gagliardi
4df47a6ee8
Decided what to do about uipriv.h including ui.h (uipriv_OS.h* wrecks that plan, so make a note of us not doing it). Now to just decide what to do about attrstr.h and then we can merge back.
2018-04-17 21:04:04 -04:00
Pietro Gagliardi
01d6422664
Added uipriv prefixes to the matrix functions.
2018-04-15 22:39:34 -04:00
Pietro Gagliardi
24a4b0997c
fromScancode() -> uiprivFromScancode().
2018-04-15 22:31:17 -04:00
Pietro Gagliardi
0dddf4a490
clickCounter -> uiprivClickCounter.
2018-04-15 22:26:51 -04:00
Pietro Gagliardi
f5be05f143
shouldQuit() -> uiprivShouldQuit().
2018-04-15 21:54:46 -04:00
Pietro Gagliardi
59835a9bae
Removed the declaration of newControl(): it was completely unused, as it was superceded by uiAllocControl() long ago.
2018-04-15 21:49:58 -04:00
Pietro Gagliardi
f93973d3cb
Migrated implbug() and userbug() to uipriv forms.
2018-04-15 21:46:08 -04:00
Pietro Gagliardi
72e8b9a198
Started FINALLY renaming uiAlloc(), uiNew(), uiRealloc(), and uiFree() into uipriv* forms. This handles the common folder.
2018-04-15 15:53:27 -04:00
Pietro Gagliardi
4a57b15d09
Renamed the common options variable to uiprivOptions.
2018-04-15 15:49:45 -04:00
Pietro Gagliardi
93f0eea140
Likewise codified uiprivStricmp(). Honestly this will probably do for the Windows code for now...
2018-03-17 23:22:17 -04:00
Pietro Gagliardi
eeb7717d88
Moved old attributed-string stuff out of the way for now.
2018-02-19 01:52:38 -05:00
Pietro Gagliardi
4f31a1331c
And omitted the common OpenType stuff from the build.
2017-05-17 16:18:28 -04:00
Pietro Gagliardi
d7a44a5168
Added uiAttribute handling code to the GTK+ backend. Not finished yet; not used yet.
2017-02-20 17:11:52 -05:00
Pietro Gagliardi
b2cd5ef851
Wrote code to draw the background of text.
2017-02-13 01:22:59 -05:00
Pietro Gagliardi
261dd4851a
Changed the representation of an attribute type/value pair to allow more type safety and expressability.
2017-02-12 14:11:25 -05:00
Pietro Gagliardi
b5b0fae052
And implemented uiDrawCaret() on GTK+.
2017-02-10 16:53:08 -05:00
Pietro Gagliardi
642363ccae
Added the uiDrawCaret() function for drawing text carets. Now to write the backend-specific code and test it out.
2017-02-10 16:29:36 -05:00
Pietro Gagliardi
b18cc88dce
Boilerplate needed for implementing range-to-rect.
2017-02-05 20:42:52 -05:00
Pietro Gagliardi
c0781a13ae
Fixed compile errors. Jesus.
...
Runtime errors next.
2017-01-20 03:24:06 -05:00
Pietro Gagliardi
7bda3baee3
Fixed build errors. DOES IT WORK?!?!?!?!?!?!?!?!
2017-01-17 13:05:40 -05:00
Pietro Gagliardi
e32341b24b
More work.
2017-01-07 20:09:44 -05:00
Pietro Gagliardi
31274bcbd2
Started implementing the new attributed string system on OS X.
2017-01-02 23:53:31 -05:00
Pietro Gagliardi
e409943a50
One more support method before I can actually implement uiDrawTextLayout. Still need to figure out how I'm going to deal with fonts...
2016-12-23 14:01:09 -05:00
Pietro Gagliardi
4f6ed98e40
And integrated the new attribute list implementation fully.
2016-12-23 00:31:11 -05:00
Pietro Gagliardi
526173bf76
Started writing the implementation of uiAttributedString. Updated windows/graphemes.cpp for this new implementation. Also fixed up a bunch of subtle errors and other issues with windows/graphemes.cpp.
2016-12-03 18:34:06 -05:00