-
Notifications
You must be signed in to change notification settings - Fork 2.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Encapsulate SymbolBucket's unique requirements
SymbolBucket is in several ways the "odd bucket out": * It's the only bucket type that works with multiple program interfaces -- one for glyphs, one for icons, and one for collision boxes. * It's the only bucket type whose instances are reused to build buffers multiple times. Previously, the Bucket base class was generalized such that it could support multiple program interfaces for any Bucket subtype, and re-create buffers at any time. However, this added complexity to all subtypes other than Symbol. Now, SymbolBucket encapsulates its differences: * It uses ArrayGroup/BufferGroup directly, creating one for each of its three interfaces. In turn, the other bucket types, their corresponding layer rendering functions, and the Bucket base class, can all assume a single program interface. * It recreates these arrays when needed, while the Bucket base class creates them once, in the constructor.
- Loading branch information
1 parent
3252ad1
commit 46a73c4
Showing
18 changed files
with
310 additions
and
379 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.