ICONICO

Screen Calipers

How to make a skin

How To Make Your Screen Caliper Skin
This tutorial is for making skins for versions 3.x and 4.x of the Calipers. We are happy to host your completed skins on Iconico.com with your name and a link to your site. Visit our current skin library.

To make a skin you'll need a free afternoon, a copy of Photoshop, or other image editor, and a text editor like Notepad. To set things up open the skins folder: C:/Program Files/Screen Calipers 4.0/skins and make a new subfolder, giving it the name of your skin. In that folder you'll put all of your skin files.

Your skin consists of one .ini file which is the configuration file for your skin containing all the measurements. Name that file with the name of your skin. You'll also place your image files in that directory. Version 4.x of the Calipers for Windows supports semi-transparent ".png" graphics. Version 3.x only supports bitmaps ".bmp", which will also work on version 4. You can make one version of your skin for version 3.x and another for version 4.x if you want.

For Apple Mac Apple Mac skins can be made by creating a zip file contining your ini file and images. Simply rename the file extension to .caliper3skin and doubleclick to install into your user folder.

For Windows Windows skins for version 4.x can be made by creating a zip file contining your ini file and images. Simply rename the file extension to .caliperskin and doubleclick to install into the Calipers skin folder.

If you run into trouble please contact us, we're happy to help.
Starting off
The easiest way to start a skin is to use one of the existing skins that comes with the program. We'll be using the Base Skin throughout this tutorial. Make a copy of the 'default' folder and move it into the 'skins' folder. Rename the folder 'NewSkin' and we'll begin working. With the Calipers open you can press 'R' at any time and the skin will be reloaded. You will be able to select your new skin from the Calipers menu.
'General' Section
In your 'NewSkin' folder you will see an .ini file which you can edit with any text editor. The ini file is made up of several sections. The first is the 'General' section. This contains information about the skin such as the name and who created it. This information shows up in the 'About this Skin' dialogue box. Below is an example 'General' section.
[General]
Name = Concise
Author = Nico
Description = Concise Metal skin
Contact = [your email here]
Site = www.iconico.com
Version = 2
CaliperVersion = 4
The name is the name of the skin (this name shows up in menus). The Version is the Version of the skin, the CaliperVersion should be set to equal 3 or 4 depending on what version you are building for.

Go ahead and change the Name to 'NewSkin', save the file and press 'R' with the Calipers open and the new name will appear in the skin menu.
'Main' Section
Once you've completed the 'General' section you'll need to add a 'Main' section. This sets up some of the colors and the fonts used for the Calipers. All colors are stated in hexadecimal, just like web colors are specified.
[Main]
TransColor = ff00ff
BleedColor = 999999
ButtonBleedColor = 666666
BaseColors = 0E35C7, 800000, 7BA5B7, F5F5F5, AEAEAE, 000000
SlideColors = 800000, 7BA5B7, 0E35C7, F5F5F5, AEAEAE, 000000
FontFace = Arial
FontSize = 14
FontBold = 0
FontItalic = 0
FontColor = 000000
FontColorBack = ffffff
The TransColor is the color of transparent pixels in your skin's bitmaps. In the example above white is used, but it might be more useful to choose ff00ff (unless you are making a bright pink skin). Color any area on your skin bitmap with this color and it will be transparent - you can even make holes in your skin! If you are using a .png graphic then this value is not used.

The BleedColor and ButtonBleedColor are used especially during rotation when the skin is set at it's highest Quality. The BleedColor controls which color will be mixed with the edge pixels to provide a smooth outline. Similarly the ButtonBleedColor is used to smooth the edges of the buttons. In version 4 these values are no longer used as the Calipers automatically smoothes the edges, so only specify them if you want to make your skin for version 3.

The BaseColors and SlideColors are used to cycle colors on the color bars. Specify any number of colors you wish.

The FontFace is the font that will be used to report the distance. Please choose a common font as some users might not have a strange or unusual font installed on their computer. FontSize is the height in pixels of the font. FontBold and FontItalic are 0 for false and 1 for true. FontColor is obviously the font's color. Don't worry too much about these settings until you're all done and then come back and tweak them a little. When tweaking please be sure that there is enough room to display distance in small units (for example twips). FontColorBack is used to smooth the font edges, similar to ButtonBleedColor.
'Horizontal' Section
This section defines the main rectangles for your Caliper's Base (the left part), Bar (the middle part), and Slide (the right part). Note that you don't need to create a vertical image or vertical section in the ini file. All the vertical calculations and images are worked out and created by the program!

Below is the first part of the 'Horizontal' section for the test skin.
[Horizontal]
Image = 			default.png
BaseRect = 		5, 2, 54, 182
BaseEdge = 		32
SlideRect = 		241, 2, 165, 182
SlideEdge = 		254
BarRect = 		59, 50, 180, 35
The Image is the name of the image file for your skin. This must be in the same folder as the ini file.

The BaseRect, SlideRect and BarRect are the coordinates that define the three main rectangles of the skin. These are given as (left, top, width, height), relative to the top left of the bitmap. On your skin you'll probably want to bunch up the rectangles into the top left corner a bit more to save space. Be careful doing this. The position of the BarRect relative to the BaseRect is important. The BarRect is copied over and over to fill the gap up. Please use a BarRect that's at least 10 pixels wide, otherwise there will be a noticeable performance drop.

The BaseEdge and the SlideEdge give the edges of the measurement points. These are relative to the left of the BaseRect, not the left of the bitmap.

Once you have these measurements ready for your image you should try and see if the skin works. You may be a few pixels off (check for overlap when the Calipers are set to zero). You might need to modify your design a little to fit the bar in correctly.
Color Pads
The BasePadsRects and SlidePadsRects define rectangles where the color pads will be drawn on the skin. These are given as (left, top, width, height), just like before. You may specify any number of rectangles, just list the coordinates out in turn for each. The default skin has two pads for the base, and the slider has several which also change the border around the Caliper icon.
BasePadsRects = 	36, 86, 2, 98,     38, 3, 2, 47
SlidePadsRects = 	260,58,2,125,  258,3,2,47,  379,60,16,1,  379,61,1,14,
 394,61,1,14,  379,75,6,1, 389,75,6,1
Adding panels
BasePanelRect = 		416, 3, 27, 27
BasePanelCenter = 	429, 16
BasePanelAnchor = 	24, 67
SlidePanelRect = 		413, 105, 69, 73
SlidePanelCenter = 	447, 142
SlidePanelAnchor = 	299, 67
One of the major enhancements in Version 3 is the rotation feature. To help with this we've added a base panel and a slide panel to the skin. When the Caliper rotates these panels move to the correct place, but do not rotate. In the default skin th Base Panel has the four up, down, left and right buttons on it; these stay pointing in the correct direction when rotated. The Slide Panel contains the textbox and four function buttons. Try rotating the Calipers and you will be able to see where the panels are.

The BasePanelRect defines the bitmap coordinates that are to be used for the panel. Note that you can make great use of transparency here. The BasePanelCenter defines the central rotation point for the panel. The BasePanelAnchor defines where the BasePanelCenter will be placed on the Caliper base. The slide Panel works in a similar way.
Placing buttons
You can add as many or as few buttons as you wish on your skin, simply specify the positions.
SizeRect =		270, 32, 60, 13, 3

CloseRect =		272, 82, 13, 13, 3
ColorBaseRect =		285, 89, 13, 13, 3
ColorSlideRect =		301, 89, 13, 13, 3
MenuRect =		314, 82, 13, 13, 3

MoveLeftRect =		12, 62, 11, 11, 2
MoveUpRect = 		19, 55, 11, 11, 2
MoveRightRect =		26, 62, 11, 11, 2
MoveDownRect =		19, 69, 11, 11, 2

InRect =			277, 62, 11, 11, 1
LeftRect =		287, 62, 11, 11, 1
RightRect =		301, 62, 11, 11, 1
OutRect =		310, 62, 11, 11, 1

FlipMinusRect =		294, 45, 11, 11, 1
AngleMinusRect =		294, 55, 11, 11, 1
AngleRect =		294, 69, 11, 11, 1
FlipRect =		294, 78, 11, 11, 1
The previous lines define the areas for the Caliper buttons. The last parameter is either 0, 1, 2 or 3 defining whether the button is placed on the Base(0), on the Slide(1), on the BasePanel(2) or the SlidePanel(3). The buttons do not have to be drawn on the bitmap in these positions, you can use these coordinates as placeholders and define the bitmaps for the buttons later.

The first line is the SizeRect rectangle which defines the area in which the measurement is reported. This area will not be filled in or colored, it just marks where the text will appear. This is defined just like the buttons rectangles are.
Finishing the buttons
To finish off the buttons you may specify 'Over' images (for when the mouse moves over the image) and also 'Down' images for when the mouse is clicked. These are all optional and are defined just like the buttons in the 'Horizontal' section. All these coordinates are given relative to the top-left of the bitmap.

As mentioned above you may optionally specify a HorizontalControls section. This for when you want to use the initial button coordinates as placeholders.
[HorizontalControls]
CloseRect =		420, 157, 13, 13, 3
ColorBaseRect =		433, 164, 13, 13, 3
ColorSlideRect =		449, 164, 13, 13, 3
MenuRect =		462, 157, 13, 13, 3

MoveLeftRect =		455, 11, 11, 11, 2
MoveUpRect = 		464, 2, 11, 11, 2
MoveRightRect =		473, 11, 11, 11, 2
MoveDownRect =		464, 20, 11, 11, 2

InRect =			415, 72, 12, 11, 1
LeftRect =		435, 31, 11, 11, 1
RightRect =		453, 31, 11, 11, 1
OutRect =		452, 72, 12, 11, 1

FlipMinusRect =		434, 53, 11, 12, 1
AngleMinusRect =		444, 22, 11, 11, 1
AngleRect =		444, 40, 11, 11, 1
FlipRect =		434, 90, 11, 12, 1


[HorizontalControlsOver]
CloseRect =		490, 157, 13, 13, 3
ColorBaseRect =		503, 164, 13, 13, 3
ColorSlideRect =		519, 164, 13, 13, 3
MenuRect =		532, 157, 13, 13, 3

MoveLeftRect =		495, 11, 11, 11, 2
MoveUpRect = 		504, 2, 11, 11, 2
MoveRightRect =		513, 11, 11, 11, 2
MoveDownRect =		504, 20, 11, 11, 2

InRect =			466, 72, 12, 11, 1
LeftRect =		475, 31, 11, 11, 1
RightRect =		493, 31, 11, 11, 1
OutRect =		503, 72, 12, 11, 1

FlipMinusRect =		485, 53, 11, 12, 1
AngleMinusRect =		484, 22, 11, 11, 1
AngleRect =		484, 40, 11, 11, 1
FlipRect =		485, 90, 11, 12, 1


[HorizontalControlsDown]
CloseRect =		490, 137, 13, 13, 3
ColorBaseRect =		503, 144, 13, 13, 3
ColorSlideRect =		519, 144, 13, 13, 3
MenuRect =		532, 137, 13, 13, 3

MoveLeftRect =		535, 11, 10, 11, 2
MoveUpRect = 		544, 2, 11, 11, 2
MoveRightRect =		553, 11, 10, 11, 2
MoveDownRect =		544, 20, 11, 11, 2

InRect =			517, 72, 12, 11, 1
LeftRect =		515, 31, 11, 11, 1
RightRect =		533, 31, 11, 11, 1
OutRect =		554, 72, 12, 11, 1

FlipMinusRect =		536, 53, 11, 12, 1
AngleMinusRect =		524, 22, 11, 11, 1
AngleRect =		524, 40, 11, 11, 1
FlipRect =		536, 90, 11, 12, 1
You'll probably want to position these button images off to the right of the other images on your bitmap so they don't conflict with the other images.
Finishing Up
Please remember to test everything before you finish your skin. After you have finished it please email the skin into me and I'll test it and add it to the main skins page. If you have any questions while you are making skins then please email me so that I can help and also update this page so that others don't run into the same problems. Feel free to look at how any of the downloadable skins are made, oh, and Happy Skinning!

Our Software Stores

IconicoAccurate Design and Development Software

BitsDuJourDiscount Deal Coupons for Windows and Mac Software Apps

Our Software Services

SoftwareMarketingResourceYou Wrote the Code, Now How do you Sell it?

IcoBlogOur Official Blog

© copyright 2004-2018 Iconico, Inc. Code & Design. All Rights Reserved. Terms & Conditions Privacy Policy Terms of Use