{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-guides/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Attributes","description":"Accelerate E&P application development and protect your innovation by consuming our Data and Domain APIs / Platform APIs.","lang":"en-US","meta":[{"name":"robots","content":"noindex"}],"llmstxt":{"hide":true,"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"attributes","__idx":0},"children":["Attributes"]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"introduction","__idx":1},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#/pages/carnac/overview/attributes#intro"},"children":["#"]}," Introduction"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A node can have different graphics attributes to represent text, line, and fill properties. The properties are called ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["styles"]},"."]},{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/styles.d2e877d4510b95145be604093e54fd174f4f87eba2e23e906141b3b0d1cf7452.e2926594.png"},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":3,"id":"architecture","__idx":2},"children":[{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"#/pages/carnac/overview/attributes#architecture"},"children":["#"]}," Architecture"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It is better to group these styles in three general groups: a line style, a fill style, and a text style. Each node implementation can have from zero to N styles and they can be shared between different nodes. The diagram below shows a schematic class diagram of the styles."]},{"$$mdtype":"Tag","name":"img","attributes":{"src":"/assets/stylesdiagram.206811e1945520b89e6834a9d207333c9795b5f3605efa1de46474b7c9a8e457.e2926594.png"},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Style is a base class of all styles. It has a time stamp. A time stamp is a way to check if a style has changed. Each time a style is changed, it gets a new time stamp. The graphics system and nodes can check if it is necessary to apply these changes to the underlying graphics system. For example, if a line color is changed, then the HTML5 canvas context must be updated with the changed color. FillStyle has sub classes to represent a gradient fill, solid color fill and fill with patterns."]}]},"headings":[{"value":"Attributes","id":"attributes","depth":1},{"value":"Introduction","id":"introduction","depth":3},{"value":"Architecture","id":"architecture","depth":3}],"frontmatter":{"title":"Attributes","seo":{"title":"Attributes"}},"lastModified":"2026-02-11T19:54:32.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/solutions/geotoolkit/programmers-guide/architecture-overview/carnac/attributes","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}