Michael Ragazzon
|
23e356ae4c
Remove pseudo class properties from element definition. This simplifies the code a whole lot, and makes fetching a new definition a lot faster. This means that we have to fetch new definitions more often (specifically, now also when we set a pseudo class), but despite this, the net performance gains are substantial. We could introduce flags to avoid this later.
|
6 years ago |
Michael Ragazzon
|
64334936cd
ElementStyle cleanup. Add const where appropriate. Remove indirection to local style properties. Replace NULL with nullptr.
|
6 years ago |
Michael Ragazzon
|
05a24f63d5
Now that we have PropertyIds, we can use a bitset to represent dirty properties, increasing iteration performance.
|
6 years ago |
Michael Ragazzon
|
08bdba69b3
Changed the tiled-decorators to take 'x y width height' properties instead of two coordinates, optimize decorator instantiation, especially when using sprites.
|
6 years ago |
Michael Ragazzon
|
cc0b4a459a
Decorators and their instancers now use smart pointers instead of manual reference counting
|
6 years ago |
Michael Ragazzon
|
bb949df66b
Can now use a shorthand to declare decorators inside elements.
|
6 years ago |
Michael Ragazzon
|
ac40b7177c
WIP, decorators partially working.
|
6 years ago |
Michael Ragazzon
|
dfdea4affd
WIP: At-rule for decorators
|
6 years ago |
Michael Ragazzon
|
89821a3e90
WIP PropertyId
|
6 years ago |
Michael Ragazzon
|
fd44d9cfcb
Optionally use EventId on add/remove listener. In the EventDispatcher, replace the map<vector> with a flat, manually sorted vector.
|
6 years ago |
Michael Ragazzon
|
9380fb5970
Use the Dictionary on OnAttributeChange to avoid copies and double map lookup
|
6 years ago |
Michael Ragazzon
|
130e3fb48f
Remove scrollchange event, replace by function call.
|
6 years ago |
Michael Ragazzon
|
d2c395645c
Make Event unaware of event specification, pass by parameter instead.
|
6 years ago |
Michael Ragazzon
|
bcc1ac4f2a
Implement EventId and associated EventSpecification
|
6 years ago |
Michael Ragazzon
|
02821004f1
WIP. Separate default event actions from ProcessEvents (event listeners)
|
6 years ago |
Michael Ragazzon
|
246e1ecc78
WIP: Specify bubbling and default actions on dispatching events
|
6 years ago |
Michael Ragazzon
|
7bad27a8f8
`Context::ProcessMouseWheel` now takes a float value for the `wheel_delta` property
|
6 years ago |
Michael Ragazzon
|
9bb89061a2
Optimize GetOwnerDocument: Instead of recursively finding the ancestor document, set it directly when adding children
|
6 years ago |
Michael Ragazzon
|
68825140d0
Element: remove active_children
|
6 years ago |
Michael Ragazzon
|
336d696311
Element destructor optimization
|
6 years ago |
Michael Ragazzon
|
1f6f4eeab8
Cleanup element update
|
6 years ago |
Michael Ragazzon
|
85a633693c
Remove the old IterateProperties, replace with new iterators
|
6 years ago |
Michael Ragazzon
|
020357fefc
Clean up dirty properties in element style
|
6 years ago |
Michael Ragazzon
|
21bd3ec507
Fix a bug where some properties were not always updated
|
6 years ago |
Michael Ragazzon
|
0bba316576
Moving dirty properties to ElementStyle
|
6 years ago |
Michael Ragazzon
|
27fe058191
Trying to fix compilation issues (why is std::string suddenly more than 32 bytes?)
|
6 years ago |
Michael Ragazzon
|
90c2d5005e
Merge remote-tracking branch 'origin/master' into performance
|
6 years ago |
Michael Ragazzon
|
6cb6ff84ad
Limit the number of iterations of OnChildAdd / OnChildRemove
|
6 years ago |
Michael Ragazzon
|
949547836f
Fix a bug due to keyword values of pointer_events. Properly handle properties set during OnPropertyChange.
|
6 years ago |
Michael Ragazzon
|
1e41f9a4ef
Remove lock layout: it already had no effect
|
6 years ago |