Commit History

Author SHA1 Message Date
  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