libui/doc/names.md

42 lines
1.6 KiB
Markdown
Raw Normal View History

TODO clean this up
TODO note that you -fvisibility=hidden means nothing in static libraries, hence this (confirmed on OS X)
In general, all names that begin with "ui" and are followed by a capital letter and all names htat begin with "uipriv" and are followed by a capita lletter are reserved by libui. This applies even in C++, where name mangling may affect the actual names in the object file.
2018-05-06 13:56:38 -05:00
# Reserved names; for users
2018-05-06 13:56:38 -05:00
All reserved names in libui are defined by a prefix followed by any uppercase letter in ASCII. The bullet lists before list those prefixes.
2018-05-06 13:56:38 -05:00
Global-scope identifiers of any form (variables, constant names, functions, structure names, union names, C++ class names, enum type names, enum value names, C++ namespace names, GObject class and interface struct names, and Objective-C class and protocol name identifiers) and macro names:
2018-05-06 13:56:38 -05:00
- `ui`
- `uipriv`
2018-05-06 13:56:38 -05:00
GObject and Objective-C class, interface, and protocol name strings, in the form they take in their respective runtime memory (e.g. when passed to `g_type_from_name()` and `NSClassFromString()`, respectively):
2018-05-06 13:56:38 -05:00
- `uipriv`
2018-05-06 13:56:38 -05:00
Objective-C method names:
- `initWithUipriv`
2018-05-06 13:56:38 -05:00
- `initWithFrame:uipriv` (TODO probably worth removing)
- `uipriv`
- `isUipriv` (for compatibility with KVO and `@property` statements)
- `setUipriv` (for compatibility with KVO and `@property` statements)
2018-05-06 13:56:38 -05:00
Objective-C ivar names:
2018-05-06 13:56:38 -05:00
- `uipriv`
- `_uipriv` (for compatibility with KVO and `@property` statements)
2018-05-06 13:56:38 -05:00
Objective-C property names:
2018-05-06 13:56:38 -05:00
- `uipriv`
2018-05-06 13:56:38 -05:00
TODO GObject macros (in libui's source code), properties, and signals
2018-05-06 13:56:38 -05:00
# Developer notes
2018-05-06 13:56:38 -05:00
TODO