# Package com.codename1.ui.plaf

package com.codename1.ui.plaf

Look of the application can be fully customized via this package, it represents a rendering layer that can be plugged in separately in runtime and themed to provide any custom look. Unlike the Swing PLAF this layer does not support any aspect of "feel" as in event handling etc. since these aspects would require a much bigger and more elaborate layer unfit for small device OTA delivery.

Sizes of components are also calculated by the `com.codename1.ui.plaf.LookAndFeel` since the size is very much affected by the look of the application e.g. the thickness of the border and the font sizes.

- Related Packages
  Package
  Description
  com.codename1.ui
  Main widget package containing the component/container "composite" similar both in terminology and design to Swing/AWT.
- Classes
  Class
  Description
  Border
  Base class that allows us to render a border for a component, a border is drawn before the component and is drawn within the padding region of the component.
  CSSBorder
  A border that can be configured using a limited subset of CSS directives.
  CSSFilterParser
  Runtime parser for CSS `filter:` / `backdrop-filter:` chains.
  CSSFilterParser.FilterChain
  Parsed filter chain payload.
  DefaultLookAndFeel
  Used to render the default look of Codename One
  LookAndFeel
  Allows a UI developer to completely customize the look of the application by overriding drawing/sizing methods appropriately.
  RoundBorder
  A border that can either be a circle or a circular rectangle which is a rectangle whose sides are circles.
  RoundRectBorder
  Customizable rounded rectangle border that breaks down the border into customizable pieces.
  Style
  Represents the look of a given component: colors, fonts, transparency, margin and padding & images.
  StyleParser
  Parses Style strings into StyleInfo objects, which can be converted to Style objects at runtime.
  StyleParser.BorderInfo
  Encapsulates information about the border property of a style string.
  StyleParser.BoxInfo
  Base class for style values that consist of 4 scalar values, such as padding and margin.
  StyleParser.FontInfo
  Encapsulates the value of the font property in a style string.
  StyleParser.ImageInfo
  Encapsulates an image that is referenced by a style string.
  StyleParser.MarginInfo
  Encapsulates information about the padding in a style string.
  StyleParser.PaddingInfo
  Encapsulates information about the padding in a style string.
  StyleParser.ScalarValue
  Encapsulates a scalar value with a unit.
  StyleParser.StyleInfo
  Encapculates a style string in structured format.
  UIManager
  Central point singleton managing the look of the application, this class allows us to customize the styles (themes) as well as the look instance.