Painting
Geo Controls Drawing Order
Geo draws:
- Backgrounds
- Foreground layers
- Foreground mouse over layers?
- Foreground selected layers
Layers control symbology
For CMLayerDataset, the dataset contains the data and is efficient at moving through the data for painting. However, we need to paint regular features, selected features, and mousedown features which needs to happen at the layer level.
- CMLayerDataset.prototype.Paint=function(TheView,FeaturesToPaint)
- Paints features while setting their styles
- Calls this.TheDataset.PaintFeature(this,TheView,this.GetMouseOverFeature()) to paint mouse over features (shouldn't this be called by higher level?)
- Layer.PaintSelected() - sets style and paints any selected features
Dataset Controls Data
- Paint() - iterates through features painting (does not set styles)
- PaintFeature(TheLayer,TheView,FeatureIndex) - paints a feature (no styles)
-
Dataset calls back to layer to do actual painting:
- TheLayer.PaintPoint(TheView,FeatureIndex,X,Y) - gets other settings but not "Style"
- TheLayer.PaintRefArea(TheView,FeatureIndex,TheArea,this.Type,Closed)
Tiles
Tiles are different because they iterate through their spatial data and paint the data directly to the layer. This means the tiles need to get the style for each feature from the layer, set it, and then paint.