summaryrefslogtreecommitdiffstats
path: root/doc/ttk_image.n
blob: bcda6789f9d0d91c3b17d04c6d1c1d0e829fe194 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
'\"
'\" Copyright (c) 2004 Joe English
'\" $Id: ttk_image.n,v 1.3 2006/11/16 13:25:11 dkf Exp $
'\" 
.so man.macros
.TH ttk_image n 8.5 Tk "Tk Themed Widget"
.BS
.SH NAME
ttk_image \- Define an element based on an image
.SH SYNOPSIS
\fBttk::style create element \fIname\fR \fBimage\fR \fIimageName\fR ?\fIoptions\fR?
.BE
.SH DESCRIPTION
The \fIimage\fR element factory creates a new element
in the current theme whose visual appearance is determined
by a Tk image.
.SH OPTIONS
Valid  \fIoptions\fR are:
.TP
\fB-border\fR \fIpadding\fR
\fIpadding\fR is a list of up to four integers, specifying
the left, top, right, and bottom borders, respectively.
See \fBIMAGE STRETCHING\fR, below.
.TP
\fB-height \fIheight\fR
Specifies a minimum height for the element.
If less than zero, the base image's height is used as a default.
.TP
\fB-map { \fIstatespec\fR \fIimage\fR.. }
Specifies auxilliary images to use in different states.
Each \fIstatespec\fR is a list of state names optionally
prefixed by an exclamation point, as in \fBttk::style map\fR.
Each \fIimageName\fR is the name of a Tk image 
defined with \fBimage create ...\fR.
When the element is displayed, each \fIstatespec\fR is
tested in order, and the \fIimage\fR corresponding to
the first matching \fIstatespec\fR is used.  
If none match, the base \fIimageName\fR is used.
.TP
\fB-padding\fR \fIpadding\fR
Specifies the element's interior padding.  Defaults to 
\fI-border\fR if not specified.
.TP
\fB-sticky\fR \fIspec\fR
Specifies how the image is placed within the final parcel.
\fIspec\fR contains zero or more characters "n", "s", "w", or "e".
.TP
\fB-width \fIwidth\fR
Specifies a minimum width for the element.
If less than zero, the base image's width is used as a default.

.SH "IMAGE STRETCHING"
If the element's allocated parcel is larger than the image, 
the image will be placed in the parcel based on the \fB-sticky\fR option.
If the image needs to stretch horizontally (i.e., \fB-sticky ew\fR)
or vertically (\fB-sticky ns\fR),
subregions of the image are replicated to fill the parcel
based on the \fB-border\fR option.
The \fB-border\fR divides the image into 9 regions: 
four fixed corners, top and left edges (which may be tiled horizontally),
left and right edges (which may be tiled vertically),
and the central area (which may be tiled in both directions).
.SH "EXAMPLE"
.CS
set button(normal) [image create photo -file button.png]
set button(pressed) [image create photo -file button-pressed.png]
ttk::style element create Button.button \fBimage\fR $button(normal) \e
   -border {2 4} -map [list pressed $button(pressed)] -sticky nswe
.CE
.SH "SEE ALSO"
image(n), photo(n)
.SH KEYWORDS
pixmap theme, image