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
Pietro Gagliardi
0d5ff432b3
Rewrote utf16.cpp to use my utf lib. Maybe I should be doing attributed strings safter all, but I might as well optimize too I guess??
2016-12-03 11:31:11 -05:00
Pietro Gagliardi
cb3f10f243
Quick fix in the meantime.
2016-06-13 21:38:48 -04:00
Pietro Gagliardi
75a8ee9bf9
Removed intmax_t from everything else EXCEPT the Windows code. Now it's time for THAT...
2016-06-13 21:37:50 -04:00
Pietro Gagliardi
aafb27cb2c
Finished the complain() migration.
2016-05-13 23:29:41 -04:00
Pietro Gagliardi
0205f2e5ca
Got rid of complain() on GTK+.
2016-05-13 21:00:12 -04:00
Pietro Gagliardi
59eebb1e48
Cleaned up the debugging functions slightly. Now to convert the other backends.
2016-05-13 20:20:15 -04:00
Pietro Gagliardi
d52c92d2f8
Cleaned out complain()s in the OS X backend. Affects everything *except* drawtext.m, which will need its own migration.
2016-05-13 20:14:46 -04:00
Pietro Gagliardi
a4f9d08281
Began replacing complain() with the more appropriate implbug() and userbug().
2016-05-13 18:27:08 -04:00
Pietro Gagliardi
329fff82f6
Some more fixups and cleanups, especially in the matrix code.
2016-05-13 18:10:43 -04:00
Pietro Gagliardi
94587b660f
Some TODO resolution and stale TODO removal.
2016-05-13 17:54:10 -04:00
Pietro Gagliardi
9d2b637aa2
FINALLY got rid of ptrArray. Woo!
2016-05-05 21:51:14 -04:00
Pietro Gagliardi
37e83d133b
Started the migration. Got rid of a bunch of cruft, including the old delayed resize logic (except for timers; will have to get that back out).
2016-04-26 19:57:13 -04:00