GUI templates
See the faq section for information on how to find the configuration location.
Almost all colors, used pictures and font types used in LDCad's OpenGL driven GUI are editable by editing the GUI template. It is however recommended to only make changes to a copy of the default template. This because program upgrades will overwrite your changes.
The GUI templates are located in the 'gui' configuration folder. Inside it you will find a readme.txt and a 'default' folder. To create a custom template just copy the default folder and rename it to e.g. 'myGUI' or something. Next you need to select this template for use by editing the main.cfg file. Just be sure LDCad is currently closed while doing so.
Inside main.cfg look for the '[guiTemplate]' line. And just below it change 'name=default' into 'name=myGUI' (or whatever else you named your folder copy). After saving the file LDCad will be configured to use your alternative template instead of the default one. But as it is currently identical you will notice no difference.
Images
The gui template folder holds mostly png images. These are all the textures used for rendering buttons, icons etc. One way to customize LDCad is by replacing these pictures by your own versions. There are some rules for doing so though.
In practice it is best to use the same dimensions as much as possible as some of them are semi hard coded / assumed in order to force certain layouts. It's also best to apply transparency whenever the original does so.
Some images will be automatically forced to be transparent if they are not already. This is done by using the upper left pixel as the background color. It is therefor recommended to make sure that pixel is something useful in most cases.
main.gui
The main.gui file is located among the pictures and should be present in any template folder. The file is used to define all colors and used fonts and probably the easiest to adjust.
main.gui is basically a plain ini file and holds two sections, namely: options and fonts.
Options section
The options section currently only holds color definitions formated like:
colorName=R G B
Where R, G and B are numbers between 0.0 and 1.0 indicating the red, green and blue component values of the indicated color.
Most color names should easily help you understand where they are used. Just be sure you keep background and foreground colors in contrast etc.
Fonts section
The fonts section lets you set the font name and size for all things displaying text inside the OpenGL controlled GUI. This is done using the following format:
itemName=fontName1, fontName2, fontName3, ...., fontSize
Where fontName is a literal font (file) name which must be findable in the OS's font library. LDCad will use these names to look for ether a .ttf or .ttc file using the current font search locations.
The default font search locations differ per OS (exact info is given in the log files) but LDCad will also look for it inside the template folder fist. So as a last result you could just put the ttf or ttc file in there.
If needed you can also extend the font search locations by editing the userFontLocations section of main.cfg, but this will cause your template to be non portable.
If the first given font name can not be resolved in a valid font file the second will be tried and so on. When creating a universal template be sure to supply separate font names for both Windows and Linux as there are very few fonts available on both platforms.
Another thing to keep in mind is the fact a chosen font is mono spaced or not. If a font item uses mono spacing in the default template it's probalby best to do the same in your own template. This because LDCad might assume it anyway in certain places.
And as a final note it might be important to keep an eye on the Unicode subset a font supports. LDCad can render any 16 bit unicode character but will only be able to do so if the given font has the needed information.
The fontSize part of the font definition line sets the (px) size to render the font at. Be sure the selected font supports the size and or is readable at that size.
Please note not all font usage will perfectly scale while applying (vastly) different sized font types, this will be improved in a future version of LDCad though.