Skip to content
This repository was archived by the owner on Aug 31, 2021. It is now read-only.

[[ TileCache ]] Cleanup #6020

Open
wants to merge 5 commits into
base: develop
Choose a base branch
from

Conversation

runrevmark
Copy link
Contributor

@runrevmark runrevmark commented Oct 3, 2017

This patch is a series of commits tidying up and refactoring parts of the tilecache / accelerated rendering mode.

As it stands it removes various unused instance methods related to layers, makes layer mode type computation live (removing the 'layer attr needs update' logic), and moves MCControl and MCCard related code into a more appropriate place using a virtual 'render' method. The next step is to make the render code per-control - taking the branching logic out of the MCControl render method for things like scrolling groups and also enabling a control to render multiple layers (this should remove the need for a scrolling layer mode entirely).

In addition, it fixes an issue with selection handles in accelRender mode - although that needs a little more tweaking - it probably makes more sense to have a separate 'selection' layer which is a sprite rather than scenery.

One thing which I noticed whilst doing this is that unbounded, opaque groups will not ever be scrolling - more investigation is needed here what goes wrong there as that is probably a significant reason why some scrolling groups on mobile suffer from poor performance.

This patch removes the unused notion of 'direct' from the
TileCache API and MCObject support for it.
This patch removes the m_layer_is_unadorned state from MCObject
as it is not actually used.
This patch adds an explicit type for tile cache layer ids -
MCTileCacheLayerId.
This patch adds a virtual render method to controls, allowing each
control type to implement its own layer-based rendering code rather
than having it centralized in MCControl.
This patch reworks the way selection handles are rendered
(including edit tools on graphics) and cleans up change
tracking to MCGraphic objects.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant