Spaces:
Sleeping
Sleeping
| // @flow | |
| import {createLayout} from '../../util/struct_array'; | |
| export const symbolLayoutAttributes = createLayout([ | |
| {name: 'a_pos_offset', components: 4, type: 'Int16'}, | |
| {name: 'a_data', components: 4, type: 'Uint16'}, | |
| {name: 'a_pixeloffset', components: 4, type: 'Int16'} | |
| ], 4); | |
| export const dynamicLayoutAttributes = createLayout([ | |
| {name: 'a_projected_pos', components: 3, type: 'Float32'} | |
| ], 4); | |
| export const placementOpacityAttributes = createLayout([ | |
| {name: 'a_fade_opacity', components: 1, type: 'Uint32'} | |
| ], 4); | |
| export const collisionVertexAttributes = createLayout([ | |
| {name: 'a_placed', components: 2, type: 'Uint8'}, | |
| {name: 'a_shift', components: 2, type: 'Float32'} | |
| ]); | |
| export const collisionBox = createLayout([ | |
| // the box is centered around the anchor point | |
| {type: 'Int16', name: 'anchorPointX'}, | |
| {type: 'Int16', name: 'anchorPointY'}, | |
| // distances to the edges from the anchor | |
| {type: 'Int16', name: 'x1'}, | |
| {type: 'Int16', name: 'y1'}, | |
| {type: 'Int16', name: 'x2'}, | |
| {type: 'Int16', name: 'y2'}, | |
| // the index of the feature in the original vectortile | |
| {type: 'Uint32', name: 'featureIndex'}, | |
| // the source layer the feature appears in | |
| {type: 'Uint16', name: 'sourceLayerIndex'}, | |
| // the bucket the feature appears in | |
| {type: 'Uint16', name: 'bucketIndex'}, | |
| ]); | |
| export const collisionBoxLayout = createLayout([ // used to render collision boxes for debugging purposes | |
| {name: 'a_pos', components: 2, type: 'Int16'}, | |
| {name: 'a_anchor_pos', components: 2, type: 'Int16'}, | |
| {name: 'a_extrude', components: 2, type: 'Int16'} | |
| ], 4); | |
| export const collisionCircleLayout = createLayout([ // used to render collision circles for debugging purposes | |
| {name: 'a_pos', components: 2, type: 'Float32'}, | |
| {name: 'a_radius', components: 1, type: 'Float32'}, | |
| {name: 'a_flags', components: 2, type: 'Int16'} | |
| ], 4); | |
| export const quadTriangle = createLayout([ | |
| {name: 'triangle', components: 3, type: 'Uint16'}, | |
| ]); | |
| export const placement = createLayout([ | |
| {type: 'Int16', name: 'anchorX'}, | |
| {type: 'Int16', name: 'anchorY'}, | |
| {type: 'Uint16', name: 'glyphStartIndex'}, | |
| {type: 'Uint16', name: 'numGlyphs'}, | |
| {type: 'Uint32', name: 'vertexStartIndex'}, | |
| {type: 'Uint32', name: 'lineStartIndex'}, | |
| {type: 'Uint32', name: 'lineLength'}, | |
| {type: 'Uint16', name: 'segment'}, | |
| {type: 'Uint16', name: 'lowerSize'}, | |
| {type: 'Uint16', name: 'upperSize'}, | |
| {type: 'Float32', name: 'lineOffsetX'}, | |
| {type: 'Float32', name: 'lineOffsetY'}, | |
| {type: 'Uint8', name: 'writingMode'}, | |
| {type: 'Uint8', name: 'placedOrientation'}, | |
| {type: 'Uint8', name: 'hidden'}, | |
| {type: 'Uint32', name: 'crossTileID'}, | |
| {type: 'Int16', name: 'associatedIconIndex'} | |
| ]); | |
| export const symbolInstance = createLayout([ | |
| {type: 'Int16', name: 'anchorX'}, | |
| {type: 'Int16', name: 'anchorY'}, | |
| {type: 'Int16', name: 'rightJustifiedTextSymbolIndex'}, | |
| {type: 'Int16', name: 'centerJustifiedTextSymbolIndex'}, | |
| {type: 'Int16', name: 'leftJustifiedTextSymbolIndex'}, | |
| {type: 'Int16', name: 'verticalPlacedTextSymbolIndex'}, | |
| {type: 'Int16', name: 'placedIconSymbolIndex'}, | |
| {type: 'Int16', name: 'verticalPlacedIconSymbolIndex'}, | |
| {type: 'Uint16', name: 'key'}, | |
| {type: 'Uint16', name: 'textBoxStartIndex'}, | |
| {type: 'Uint16', name: 'textBoxEndIndex'}, | |
| {type: 'Uint16', name: 'verticalTextBoxStartIndex'}, | |
| {type: 'Uint16', name: 'verticalTextBoxEndIndex'}, | |
| {type: 'Uint16', name: 'iconBoxStartIndex'}, | |
| {type: 'Uint16', name: 'iconBoxEndIndex'}, | |
| {type: 'Uint16', name: 'verticalIconBoxStartIndex'}, | |
| {type: 'Uint16', name: 'verticalIconBoxEndIndex'}, | |
| {type: 'Uint16', name: 'featureIndex'}, | |
| {type: 'Uint16', name: 'numHorizontalGlyphVertices'}, | |
| {type: 'Uint16', name: 'numVerticalGlyphVertices'}, | |
| {type: 'Uint16', name: 'numIconVertices'}, | |
| {type: 'Uint16', name: 'numVerticalIconVertices'}, | |
| {type: 'Uint16', name: 'useRuntimeCollisionCircles'}, | |
| {type: 'Uint32', name: 'crossTileID'}, | |
| {type: 'Float32', name: 'textBoxScale'}, | |
| {type: 'Float32', components: 2, name: 'textOffset'}, | |
| {type: 'Float32', name: 'collisionCircleDiameter'}, | |
| ]); | |
| export const glyphOffset = createLayout([ | |
| {type: 'Float32', name: 'offsetX'} | |
| ]); | |
| export const lineVertex = createLayout([ | |
| {type: 'Int16', name: 'x'}, | |
| {type: 'Int16', name: 'y'}, | |
| {type: 'Int16', name: 'tileUnitDistanceFromAnchor'} | |
| ]); | |