Table of Contents

xPaintTexture

All settings mentioned in this documentation needs a "prefix". This prefix is explained in the module that uses this feature.

Examples:

xTray...
xTaskbarActiveButton...
MyLabel...
Command...
xPopupFolder...

Legend

[ ]
Values between [ and ] are optional
BOOL
Boolean value (true or false)
COLOR
Color in Hex (FFFFFF = White, 000000 = Black, …)
COORDINATE
X or Y coordinate relative to the requested painting rectangle.
If the value is positive, then it is relative to the top/left of the requested painting rectangle.
If the value is negative, then it is relative to the bottom/right of the requested painting rectangle.
You can make the position relative to the center of the requested painting rectangle by appending the character 'c' after the number ("32c", "-128c")
You can use "real negative values" by adding a '~' before the number ("~10").
Additionally you can use percent values of the requested painting rectangle ("50%", "75%") and you can combine those percent values with further positioning ("20%-20", "80%+5", "100%+20").
DIMENSION
A number of pixels
If the value is positive then its an absolute size in pixels
If the value is negative then its the requested painting rectangle width/height minus the specified value.
Additionally you can make the size relative to a percentage of the requested painting rectangle width/height by appending the character '%' after the number ("50%", "-20", "50%-20", "75%+40").
INT
A number
STRING
A word, usually beginning with a period (.) or a quoted text

General Settings

DisablePerformanceCaching BOOL
This disables the internal image caching of the xPaintTexture.
Good idea for static eye candy labels and maybe (multi/single)colored labels, taskbars and popups, but bad idea for often changing(repainted) elements (visible content or size changes).
If set, it saves 2 GDI object per xPaintTexture and naturally RAM depending on the size of the texture. Used at the wrong texture this can increase the CPU usage and reduce performance (speed).
PaintingMode STRING
The parameter is mode
mode can be .none, .image, .icon, .singlecolor, .multicolor, .borderbutton, .animation or .visualstyle.
Set this for the correct painting mode you want to use. Default is .none!
This is an important setting. If you don't set this, nothing is painted.
The different painting modes are described at the following links: .image, .icon, .singlecolor, .multicolor, .borderbutton, .animation, .visualstyle

Settings for all PaintingModes

BorderMethod STRING
The parameter is method
method can be .raised, .sunken, .etched, .bump, or .none.
This setting draws a rectangular border.
ImageWidth INT
With this setting you can specify an INTERNAL DEFAULT for the width (since xPaintTexture can export the image dimensions to a module you can supply a default for setups without images).
ImageHeight INT
With this setting you can specify an INTERNAL DEFAULT for the height (since xPaintTexture can export the image dimensions to a module you can supply a default for setups without images).

Texture Specific Settings

TextureAddToGroup STRING
The parameters are: (group-name)
Adds the xPaintTexture to the specified group.
Please don't use this as normal AddToGroup, this is a special setting only very few themers will ever need.
Overrides the module internal AddToGroup, if available.
The group has full support for adding itself to another group.
(group-name)AddToGroup SomeGroup will work as expected.

Layout

TextureX COORDINATE
Allows custom positioning relative to the module given painting rectangle.
TextureY COORDINATE
Allows custom positioning relative to the module given painting rectangle.
TextureWidth DIMENSION
Allows custom sizing relative to the module given painting rectangle.
TextureHeight DIMENSION
Allows custom sizing relative to the module given painting rectangle.
TextureRotation INT [INT INT]
The parameters are: rotation sizex sizey
Rotates the texture rotation degrees.
If both sizex and sizey are specified the image will have this new size after it's done rotating, otherwise it will keep its original size.
rotation can be any value in the interval -360 to 360.
Minimum Requirement: xPaintClass-1.0 Update 4

Transparency features

TextureTrueTransparency BOOL
If set and with alphamap enabled, the texture replaces the background and its AlphaMap completely.
If not set (default), the texture is painted with its AlphaMap onto the background.
This is a quite important difference. So try both to determine which method is better to achieve your goals.
OS requirement: Windows 2000 or newer
TextureAlphaTransparency INT
Makes the texture alpha transparent.
Valid values are 0-255, where 0 is totally transparent and 255 is opaque.
Default is 255.
OS requirement: Windows 2000 or newer
TextureAlphaTranslucency BOOL
MagicPink areas in the texture will be blurred (Aero Glass).
Requirement: The module must support Aero Glass features!
Minimum Requirement: xPaintClass-1.0 Update 7

Image Painting

Attention: Only valid if PaintingMode .image is set!

Image STRING
STRING is the name of the texture image file.
This file must be in BMP, PNG, JPG, or GIF format. (The two last formats requires xPaintClass-1.0 Update 4 or newer.)
If no value is provided, then nothing is painted (transparent).
ImageMode STRING
STRING can be .stretch, .tile, .tile-horizontal, or .tile-vertical.
Sets the method used to scale the texture image.
.stretch, .tile-horizontal, and .tile-vertical supports a scaling filter, which is appended to the setting like this: ImageMode .TYPE_FILTER.
Minimum Requirement for scaling filters: xPaintClass-1.0 Update 6

Examples:

*Label test1 test2 test3
test1ImageMode .stretch_box
test2ImageMode .stretch_bell
test3ImageMode .tile-vertical_hermite
Explanations of the filters:
Box
equivalent to Nearest Neighbor on upsampling, averages pixels on downsampling
Triangle
equivalent to Low; the function can be called Tent function for its shape
Hermite
use of the cubic spline from Hermite interpolation
Bell
attempt to compromise between reducing block artifacts and blurring image
CubicBSpline
most blurry filter (cubic Bezier spline) - known samples are just "magnets" for this curve
Lanczos3
windowed Sinc function (sin(x)/x) - promising quality, but ringing artifacts can appear
Mitchell
another compromise, but excellent for upsampling
Cosine
an attemp to replace curve of high order polynomial by cosine function (which is even)
CatmullRom
Catmull-Rom curve, used in first image warping algorithm (did you see Terminator II ?)
Quadratic
performance optimized filter - results are like with Bezier-Splines, but using quadratic function only
QuadraticBSpline
quadratic Bezier spline modification
CubicConvolution
filter used in one example, its weight distribution enhances image edges
Lanczos8
also Sinc function, but with larger window, this function includes largest neighborhood
If no value is provided, then the default is .stretch.
ImageEdges INT INT INT INT
ImageEdges INT INT
ImageEdges INT
Accepts 4, 2 or 1 INT value(s), which define the number of pixels on which the image will not be stretched or tiled.
The values provided are either Left Right Top Bottom, Left/Right Top/Bottom, or Left/Right/Top/Bottom.
If no value is provided, then the default is 0.
ImageLeftEdge INT
Sets the number of pixels on the left edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageRightEdge INT
Sets the number of pixels on the right edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageTopEdge INT
Sets the number of pixels on the top edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageBottomEdge INT
Sets the number of pixels on the bottom edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageCrop INT INT INT INT
ImageCrop INT INT
ImageCrop INT
Accepts 4, 2 or 1 INT value(s), which define the number of pixels which will be cropped.
The values provided are either Left Right Top Bottom, Left/Right Top/Bottom, or Left/Right/Top/Bottom.
If no value is provided, then the default is 0.
ImageLeftCrop INT
Sets the number of pixels on the left edge of the image, which will be cropped.
If no value is provided, then the default is 0.
ImageRightCrop INT
Sets the number of pixels on the right edge of the image, which will be cropped.
If no value is provided, then the default is 0.
ImageTopCrop INT
Sets the number of pixels on the top edge of the image, which will be cropped.
If no value is provided, then the default is 0.
ImageBottomCrop INT
Sets the number of pixels on the bottom edge of the image, which will be cropped.
If no value is provided, then the default is 0.

Image Colorization

HueColor COLOR
This command specifies the color of the hue, if HueIntensity is greater than 0.
Gray scale colors, like FFFFFF, c0c0c0, 888888, 000000, etc, will not make a difference to the hue since they don't have a color.
If no value is provided, then the default is FFFFFF (i.e. no hue color).
HueIntensity INT
This command sets the intensity of the hue effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
MixColor COLOR
This command specifies the color, which is mixed with the existing colors.
If no value is provided, then the default is FFFFFF.
MixIntensity INT
This command sets the intensity of the color mixing effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
LuminanceIntensity INT
This command sets the the intensity of the luminance effect applied to the texture image.
Minimum: -100 (black), maximum: 100 (white)
If no value is provided the default is 0.
SaturationIntensity INT
This command sets the color saturation of the texture image.
Minimum: 0 (grayscale), maximum: 200.
If no value is provided the default is 100 (fully colored).
Values between 101-200 override the original saturation of the pixel. This way you can colorize gray scale texture images.

Icon Painting

Attention: Only valid, if PaintingMode .icon is set!

Icon STRING
STRING sets the base of the icon image. This file can be a .ico, .exe, .dll.
IconExtractionSize INT
The displayed file-icon is extracted with the specified icon size.
The specified size is the size of the original icon, not the size it will be painted in afterwards. You can extract a 16x16 icon and paint it with the size 64x64 or vice versa. If the specified size isn't found the next smaller size is used.
Default is 32x32 pixels.
Attention: This works only to 100%, if an .ico, .exe or .dll file is used.
IconMode STRING
STRING can be .stretch.
Sets the method used to scale the texture icon.
.stretch supports a scaling filter, which is appended to the setting IconMode .stretch_FILTER.
Minimum Requirement for scaling filters: xPaintClass-1.0 Update 6

Examples:

*Labels test1 test2
test1IconMode .stretch_box
test2IconMode .stretch_bell
Explanations of the filters:
Box
equivalent to Nearest Neighbor on upsampling, averages pixels on downsampling
Triangle
equivalent to Low; the function can be called Tent function for its shape
Hermite
use of the cubic spline from Hermite interpolation
Bell
attempt to compromise between reducing block artifacts and blurring image
CubicBSpline
most blurry filter (cubic Bezier spline) - known samples are just "magnets" for this curve
Lanczos3
windowed Sinc function (sin(x)/x) - promising quality, but ringing artifacts can appear
Mitchell
another compromise, but excellent for upsampling
Cosine
an attemp to replace curve of high order polynomial by cosine function (which is even)
CatmullRom
Catmull-Rom curve, used in first image warping algorithm (did you see Terminator II ?)
Quadratic
performance optimized filter - results are like with Bezier-Splines, but using quadratic function only
QuadraticBSpline
quadratic Bezier spline modification
CubicConvolution
filter used in one example, its weight distribution enhances image edges
Lanczos8
also Sinc function, but with larger window, this function includes largest neighborhood
If no value is provided, then the default is .stretch.

Icon Colorization

HueColor COLOR
This command specifies the color of the hue, if HueIntensity is greater than 0.
Gray scale colors, like FFFFFF, c0c0c0, 888888, 000000, etc, will not make a difference to the hue since they don't have a color.
If no value is provided, then the default is FFFFFF (i.e. no hue color).
HueIntensity INT
This command sets the intensity of the hue effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
MixColor COLOR
This command specifies the color, which is mixed with the existing colors.
If no value is provided, then the default is FFFFFF.
MixIntensity INT
This command sets the intensity of the color mixing effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
LuminanceIntensity INT
This command sets the the intensity of the luminance effect applied to the icon.
Minimum: -100 (black), maximum: 100 (white)
If no value is provided the default is 0.
SaturationIntensity INT
This command sets the color saturation of the icon.
Minimum: 0 (grayscale), maximum: 200.
If no value is provided the default is 100 (fully colored).
Values between 101-200 override the original saturation of the pixel. This way you can colorize gray scale icons.

Color Setup

Single Color Setup

Attention: Only valid, if Paintingmode .singlecolor is set!

Colors COLOR
Sets the color of the texture.

Multi Color Setup

Attention: Only valid, if Paintingmode .multicolor is set!

Colors COLOR [COLOR] [COLOR]
The parameters are bgcolor lightbevel darkbevel
Sets the colors of the texture.
bgcolor specifies the color used for the background, lightbevel specifies the color used for light bevels, and darkbevel specifies the color used for dark bevels.
GradientColors COLOR [COLOR] [COLOR] […]
If defined, a gradient is painted with the background color and the specified gradient colors.
Note that only .horizontal and .vertical gradients supports more than two colors.
GradientType STRING
The parameter is gradient
gradient can be:
  • .horizontal
  • .vertical
  • The following modes support only a two color gradient!
  • .radial
  • .diagonal
  • .fdiagonal
  • .bdiagonal
  • .pipecross
  • .elliptic
  • .rectangle
  • .pyramid
Minimum Requirement for the last 4 gradients: xPaintClass-1.0 Update 6.
GradientTransformationType STRING
STRING can be:
  • .none (Default)
  • .caricature
  • .fisheye
  • .swirled
  • .cylinder
  • .shift
GradientRepeated INT [INT] [INT] […]
The Gradient colors are repeated in an endless loop over the whole texture size each with the amount of specified pixels.
Each INT specifies how big (in pixels) each plain color of the gradient shall be. After the last value the first value is used again.
Restriction: Only valid with .horizontal and .vertical gradients, and no GradientTransformationType can be specified.
ShapeType STRING
Sets the (non-antialiased) shape of the texture.
STRING can be:
  • .rectangle (Default)
  • .ellipse
  • .rounded
Minimum Requirement: xPaintClass-1.0 Update 2.
RoundedEdges INT INT
RoundedEdges INT
Accepts 2 or 1 INT value(s) that defines how big (in pixels) the rounded edges should be.
Restriction: Only valid with ShapeType set to .rounded.
Minimum Requirement: xPaintClass-1.0 Update 2.
Bevels INT INT INT INT
Bevels INT INT
Bevels INT
Accepts 4, 2 or 1 INT value(s) that defines the size of the different bevel sides.
The values provided are either Left Right Top Bottom, Left/Right Top/Bottom, or Left/Right/Top/Bottom.
Sets the size of the painted bevels in pixels.

Examples:

*Label test
testBevels 1       ;sets all borders to 1px

testBevels 1 0     ;sets left/right borders to 1px and top/bottom borders to 0px
testBevels 1 0 2 1 ;sets left/right/top/bottom border to the defined values
If no value is provided, then the default is 0.
LeftBevel INT
Sets the size of the bevel on the left.
If no value is provided, then the default is 0.
RightBevel INT
Sets the size of the bevel on the right.
If no value is provided, then the default is 0.
TopBevel INT
Sets the size of the bevel on the top.
If no value is provided, then the default is 0.
BottomBevel INT
Sets the size of the bevel on the bottom.
If no value is provided, then the default is 0.

Windows Button Setup

Attention: Only valid, if Paintingmode .borderbutton is set!

A simple Windows styled (mostly a light grey color) button is painted. For the complete look you need to define the wished (Prefix)BorderMethod!

Animation Setup

Attention: Only valid, if Paintingmode .animation is set! The module MUST handle this internally, otherwise don't use this.

xLabel is the only module that supports this so far! Please read the module's documentation on how to use this feature, only a basic explanation is proveded here.

Either use the single image mode:

Frames STRING
STRING sets the name of the file containing the frames, all in one image.
This file must be in BMP or PNG format.
Attention: Special Format!
The image must contain all animation frames (all same width and height) in a row (left to right).

Or use the multi image mode:

*(Prefix)Frames STRING
STRING sets the name of one file containing one frame.
This file must be in BMP or PNG format.
You need one line like this for every frame, and the lines must be in the correct order.
Make sure you have the same amount of these lines as the number of frames specified in FrameCount. Also make sure that all images have the correct size as specified in FrameWidth and FrameHeight.
FrameWidth INT
Required setting.
Sets the width of a single frame.
FrameHeight INT
Required setting.
Sets the height of a single frame.
ImageMode STRING
STRING can be .stretch, .tile, .tile-horizontal, or .tile-vertical.
Sets the method used to scale the texture image.
Additionally .stretch, .tile-horizontal, and .tile-vertical supports a scaling filter, which is appended to the setting like so: ImageMode .type_FILTER.
Minimum Requirement for scaling filters: xPaintClass-1.0 Update 6

Examples:

*Label test1 test2 test3
test1ImageMode .stretch_box
test2ImageMode .stretch_bell
test3ImageMode .tile-vertical_hermite
Explanations of the filters:
Box
equivalent to Nearest Neighbor on upsampling, averages pixels on downsampling
Triangle
equivalent to Low; the function can be called Tent function for its shape
Hermite
use of the cubic spline from Hermite interpolation
Bell
attempt to compromise between reducing block artifacts and blurring image
CubicBSpline
most blurry filter (cubic Bezier spline) - known samples are just "magnets" for this curve
Lanczos3
windowed Sinc function (sin(x)/x) - promising quality, but ringing artifacts can appear
Mitchell
another compromise, but excellent for upsampling
Cosine
an attemp to replace curve of high order polynomial by cosine function (which is even)
CatmullRom
Catmull-Rom curve, used in first image warping algorithm (did you see Terminator II ?)
Quadratic
performance optimized filter - results are like with Bezier-Splines, but using quadratic function only
QuadraticBSpline
quadratic Bezier spline modification
CubicConvolution
filter used in one example, its weight distribution enhances image edges
Lanczos8
also Sinc function, but with larger window, this function includes largest neighborhood
If no value is provided, then the default is .stretch.
ImageEdges INT INT INT INT
ImageEdges INT INT
ImageEdges INT
Accepts 4, 2 or 1 INT value(s) that defines the number of pixels of the image that will not be stretched or tiled.
The values provided are either Left Right Top Bottom, Left/Right Top/Bottom, or Left/Right/Top/Bottom.
If no value is provided, then the default is 0.
ImageLeftEdge INT
Sets the number of pixels on the left edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageRightEdge INT
Sets the number of pixels on the right edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageTopEdge INT
Sets the number of pixels on the top edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.
ImageBottomEdge INT
Sets the number of pixels on the bottom edge of the image that will not be stretched or tiled.
If no value is provided, then the default is 0.

Image Colorization

HueColor COLOR
This command specifies the color of the hue, if HueIntensity is greater than 0.
Gray scale colors, like FFFFFF, c0c0c0, 888888, 000000, etc, will not make a difference to the hue since they don't have a color.
If no value is provided, then the default is FFFFFF (i.e. no hue color).
HueIntensity INT
This command sets the intensity of the hue effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
MixColor COLOR
This command specifies the color, which is mixed with the existing colors.
If no value is provided, then the default is FFFFFF.
MixIntensity INT
This command sets the intensity of the color mixing effect.
Minimum: 0 (nothing), maximum: 100
If no value is provided the default is 0.
LuminanceIntensity INT
This command sets the the intensity of the luminance effect applied to the texture image.
Minimum: -100 (black), maximum: 100 (white)
If no value is provided the default is 0.
SaturationIntensity INT
This command sets the color saturation of the texture image.
Minimum: 0 (grayscale), maximum: 200.
If no value is provided the default is 100 (fully colored).
Values between 101-200 override the original saturation of the pixel. This way you can colorize gray scale texture images.