PaintTexture:

All settings mentioned in this Class, need a "Prefix", which is explained in the Module, which uses this class.

Examples:

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

General Settings

DisablePerformanceCaching BOOL
This disables the internal ImageCaching of the xPaintTexture Class!
Good idea for Static Eyecandy Labels and maybe (Multi/Single)Color Labels, Taskbars and Popups, but bad idea for often changing(repainted) elements (visible content or size change).

If set, it saves 2 GDI Object per xPaintTexture Class and naturally RAM depending on the Size of the texture. At the cost of more CPU and reduced performance (speed), WHEN USED ON THE WRONG XPAINTCLASS!.

TextureAddToGroup GROUP GROUP1 GROUP2 ...
Add the xPaintTexture Class to the specified Group.
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 first GROUP supports itsef the AddToGroup setting, the following not!

Important:
PaintingMode ".none", ".image", ".icon", ".multicolor", ".singlecolor", ".borderbutton", ".animation"
Set this for the correct painting mode you want to use. Default is ".none"!
IF YOU DON'T SET THIS, NOTHING IS PAINTED!!

Jump to the explanations:
.image, .icon, .multicolor, .singlecolor, .borderbutton, .animation

Settings for all PaintingModes

BorderMethod "Raised", "Sunken", "Etched", "Bump" and ".none" (Default)
This settings draws a rectangular Border only (quite simple, but impressive).

Special Texture Specific Settings

TextureTrueTransparency BOOL
If set and with ALPHAMAP ENABLED, the TEXTURE REPLACES the background and it's AlphaMap completely.
If not set (Default), the TEXTURE IS PAINTED WITH ITS AlphaMap ONTO the background.

This is a quite important difference, as some people already have discovered, so check out which method is better to achieve your goals.

TextureAlphaTransparency INT
Makes the texture alphatransparent.
Valid values are 0-255, where 0 is totally transparent and 255 is opaque.
Default is 255.

TextureX COORDINATE
Allows custom positioning relative to the module given painting rectangle.
All Coordinate Functions are available!
You can make the position relative to the center by appending the character 'c' after the number ("32c", "-128c") or use "Real Negative Values" by adding a '~' before the number ("~10"). Additionally you can use percent values of the painting rectangle ("50%", "75%") and you can combine those percent values with further positioing ("20%-20", "80%+5", "100%+20").

TextureY COORDINATE
Allows custom positioning relative to the module given painting rectangle.
All Coordinate Functions are available!
You can make the position relative to the center by appending the character 'c' after the number ("32c", "-128c") or use "Real Negative Values" by adding a '~' before the number ("~10"). Additionally you can use percent values of the painting rectangle ("50%", "75%") and you can combine those percent values with further positioing ("20%-20", "80%+5", "100%+20").

TextureWidth DIMENSION
Allows custom sizing relative to the module given painting rectangle.
All Dimension Functions are available!
If the value is positive then its an absolute size in pixel, if negative then its the given Width/Height minus the specified value. Additionally you can make the size relative to a precentage of the given Width/Height by appending the character '%' after the number ("50%", "-20", "50%-20", "75%+40").

TextureHeight DIMENSION
Allows custom sizing relative to the module given painting rectangle.
All Dimension Functions are available!
If the value is positive then its an absolute size in pixel, if negative then its the given Width/Height minus the specified value. Additionally you can make the size relative to a precentage of the given Width/Height by appending the character '%' after the number ("50%", "-20", "50%-20", "75%+40").

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).

Image Painting

Attention: Only valid, if "Paintingmode .image" is set!

Image IMAGE
Sets the name of the texture image. This file must be in BMP or PNG format format.
If no value is provided then nothing is painted (black).

ImageMode "stretch", "tile", "tile-horizontal", "tile-vertical"
Sets the method used to scale the texture image.
If no value is provided then the default is "stretch".

ImageEdges LEFT RIGHT TOP BOTTOM or (LEFT/RIGHT) (TOP/BOTTOM) or (LEFT/RIGHT/TOP/BOTTOM)
Accepts 4, 2 or 1 INT Value(s), which define the number of pixels on which the image will not be stretched or tiled.
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 LEFT RIGHT TOP BOTTOM or (LEFT/RIGHT) (TOP/BOTTOM) or (LEFT/RIGHT/TOP/BOTTOM)
Accepts 4, 2 or 1 INT Value(s), which define the number of pixels which will be cropped.
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.

HueColor COLOR
This command specifies the blended in color.
You cannot use Grayscale Colors, like FFFFFF, c0c0c0, 888888, 000000, ...., because they don't have a color!
If no value is provided then the default is "FFFFFF".

HueIntensity INT
This command specifies the color of the pixel or the blended in color if HueIntensity is smaller then 100.
Minimum: 0 -> Nothing (Default)
Maximum: 100

MixColor COLOR
This command specifies the mixed in color.
If no value is provided then the default is "FFFFFF".

MixIntensity INT
This command specifies the amount of the mixed in color.
Minimum: 0 -> Nothing (Default)
Maximum: 100

LuminanceIntensity INT
This command specifies the luminance of the texture image.
Minimum: -100 -> Black
Maximum: 100 -> White
Default: 0

SaturationIntensity INT
This command specifies the color saturation of the texture image.
Minimum: 0 -> Grayscale
Maximum: 100 -> Full Colored (Default)

Values between 101-200 override the original Saturation of the Pixel!
This way you can colorize Grayscale Images.

Icon Painting

Attention: Only valid, if "Paintingmode .icon" is set!

Icon ICON
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 IconSize.
That is the size of the original Icon, not the Size how it's painted afterwards. You can extract a 16x16 icon and paint it with 64x64 or vice versa. If the specified size isn't found the next smaller size is used.
Default is 32x32 Pixel.
Attention: This works only to 100%, if an .ico, .exe or .dll file is used!

HueColor COLOR
This command specifies the blended in color.
You cannot use Grayscale Colors, like FFFFFF, c0c0c0, 888888, 000000, ...., because they don't have a color!
If no value is provided then the default is "FFFFFF".

HueIntensity INT
This command specifies the color of the pixel or the blended in color if HueIntensity is smaller then 100.
Minimum: 0 -> Nothing (Default)
Maximum: 100

MixColor COLOR
This command specifies the mixed in color.
If no value is provided then the default is "FFFFFF".

MixIntensity INT
This command specifies the amount of the mixed in color.
Minimum: 0 -> Nothing (Default)
Maximum: 100

LuminanceIntensity INT
This command specifies the luminance of the texture image.
Minimum: -100 -> Black
Maximum: 100 -> White
Default: 0

SaturationIntensity INT
This command specifies the color saturation of the texture image.
Minimum: 0 -> Grayscale
Maximum: 100 -> Full Colored (Default)

Values between 101-200 override the original Saturation of the Pixel!
This way you can colorize Grayscale Images.

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 (bgCOLOR) [(lightbevelCOLOR)] [(darkbevelCOLOR)]
Sets the colors of the texture, first the BGColor, then optional Light and Dark BevelColors.

GradientColors (COLOR) [(COLOR)] [(COLOR)] ...
If defined, a Gradient is Painted with the BackgroundColor and the specified Gradient Colors.

GradientType TYPE
TYPE can be:
".horizontal"
".vertical"
".radial" ONLY A TWO COLOR GRADIENT IS POSSIBLE!
".diagonal" ONLY A TWO COLOR GRADIENT IS POSSIBLE!
".fdiagonal" ONLY A TWO COLOR GRADIENT IS POSSIBLE!
".bdiagonal" ONLY A TWO COLOR GRADIENT IS POSSIBLE!

GradientTransformationType TYPE
TYPE can be:
".none" (Default)
".caricature"
".fisheye"
".swirled"
".cylinder"
".shift"
RESTRICTION: ONLY VALID WITH GradientType <> ".none"!

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 again used.
RESTRICTION: ONLY VALID WITH GradientType ".horizontal" or ".vertical" AND NO GradientTransformationType!

Bevels LEFT RIGHT TOP BOTTOM or (LEFT/RIGHT) (TOP/BOTTOM) or (LEFT/RIGHT/TOP/BOTTOM)
Accepts 4, 2 or 1 INT Value(s), which define the size of the different bevel sides.
Sets the size of the painted Bevels in pixels.
(Prefix)Bevels 1 sets all borders to 1px
(Prefix)Bevels 1 0 sets left/right borders to 1px and top/bottom borders to 0px
(Prefix)Bevelse 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 which supports this so far!
READ THE MODULE DOCS, HERE ARE ONLY THE BASIC SETTINGS OF THE XPAINTCLASS!

Either use the SINGLE IMAGE MODE:
Frames (file)
Sets the name of the file containing the frames in ONE IMAGE.
This file must be in BMP or PNG format 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 (file)
Sets the name of one file containing one frame.
This file must be in BMP or PNG format format.

You need a line for every frame in the correct order!

Make sure you have the same amount of "FrameLines" as specified in FrameCount! And make sure that all 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 "stretch", "tile", "tile-horizontal", "tile-vertical"
Sets the method used to scale the texture image.
If no value is provided then the default is "stretch".

ImageEdges LEFT RIGHT TOP BOTTOM or (LEFT/RIGHT) (TOP/BOTTOM) or (LEFT/RIGHT/TOP/BOTTOM)
Accepts 4, 2 or 1 INT Value(s), which define the number of pixels on which the image will not be stretched or tiled.
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.

HueColor COLOR
This command specifies the blended in color.
You cannot use Grayscale Colors, like FFFFFF, c0c0c0, 888888, 000000, ...., because they don't have a color!
If no value is provided then the default is "FFFFFF".

HueIntensity INT
This command specifies the color of the pixel or the blended in color if HueIntensity is smaller then 100.
Minimum: 0 -> Nothing (Default)
Maximum: 100

MixColor COLOR
This command specifies the mixed in color.
If no value is provided then the default is "FFFFFF".

MixIntensity INT
This command specifies the amount of the mixed in color.
Minimum: 0 -> Nothing (Default)
Maximum: 100

LuminanceIntensity INT
This command specifies the luminance of the texture image.
Minimum: -100 -> Black
Maximum: 100 -> White
Default: 0

SaturationIntensity INT
This command specifies the color saturation of the texture image.
Minimum: 0 -> Grayscale
Maximum: 100 -> Full Colored (Default)

Values between 101-200 override the original Saturation of the Pixel!
This way you can colorize Grayscale Images.