119 lines
3.9 KiB
HTML
119 lines
3.9 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
|
|
<title>PIXI Theme</title>
|
|
|
|
<link rel="stylesheet" href="../3rdparty/highlight/styles/default.css" />
|
|
<link rel="stylesheet" href="../../css/doctest.css" />
|
|
|
|
<script src="../3rdparty/highlight/highlight.pack.js"></script>
|
|
<script src="../../dist/iwmlib.3rdparty.js"></script>
|
|
|
|
<script src="../../dist/iwmlib.js"></script>
|
|
<script src="../../dist/iwmlib.pixi.js"></script>
|
|
</head>
|
|
<body onload="Doctest.run()">
|
|
<h1><a href="../index.html">lib.</a><a href="index.html">pixi.</a>Theme</h1>
|
|
<p>
|
|
The Button class defines a clickable/touchable button. Use custom button styles for actions in forms,
|
|
dialogs, and more with support for multiple sizes, states, and more. Buttons will appear pressed when
|
|
active. Make buttons look inactive by setting the disabled state to true. To allow changing the state
|
|
between active/inactive, set the button type to "checkbox".
|
|
</p>
|
|
<p>Let's look at some button examples:</p>
|
|
<br />
|
|
<canvas id="canvas" class="interactive"></canvas>
|
|
<p>What you should see: Many buttons with very different styling and behaviour.</p>
|
|
<script class="doctest">
|
|
const app = new PIXIApp({
|
|
view: canvas,
|
|
width: 900,
|
|
height: 250,
|
|
transparent: false
|
|
})
|
|
.setup()
|
|
.run()
|
|
|
|
let buttonDark = new Button({
|
|
x: 10,
|
|
y: 10,
|
|
label: 'Button with theme dark',
|
|
type: 'checkbox'
|
|
})
|
|
|
|
let buttonGroupLight = new ButtonGroup({
|
|
x: 230,
|
|
y: 10,
|
|
theme: 'light',
|
|
buttons: [{ label: 'Button with', active: true }, { label: 'theme light' }],
|
|
type: 'checkbox'
|
|
})
|
|
|
|
let buttonGroupRed = new ButtonGroup({
|
|
x: 480,
|
|
y: 10,
|
|
theme: 'red',
|
|
margin: 0,
|
|
buttons: [{ label: 'Button with', active: true }, { label: 'theme red' }],
|
|
type: 'radio'
|
|
})
|
|
|
|
let switchDark = new Switch({
|
|
x: 10,
|
|
y: 90
|
|
})
|
|
|
|
let switchLight = new Switch({
|
|
x: 80,
|
|
y: 90,
|
|
theme: 'light'
|
|
})
|
|
|
|
let switchRed = new Switch({
|
|
x: 150,
|
|
y: 90,
|
|
theme: 'red'
|
|
})
|
|
|
|
let yellowTheme = new Theme({
|
|
fill: 0xfecd2d,
|
|
fillActive: 0xfe9727,
|
|
strokeActive: 0xfecd2d,
|
|
strokeActiveWidth: 4,
|
|
textStyle: {
|
|
fill: 0x5ec7f8
|
|
},
|
|
textStyleActive: {
|
|
fill: 0x5954d3
|
|
},
|
|
textStyleLarge: {
|
|
fontSize: 36
|
|
}
|
|
})
|
|
|
|
let buttonYellow = new Button({
|
|
x: 10,
|
|
y: 160,
|
|
theme: yellowTheme,
|
|
label: 'Button with theme yellow',
|
|
type: 'checkbox',
|
|
action: (event) => {
|
|
const modal = new Modal({
|
|
app: app,
|
|
theme: yellowTheme,
|
|
header: 'Theme',
|
|
content: 'Yellow'
|
|
})
|
|
app.scene.addChild(modal)
|
|
}
|
|
})
|
|
|
|
app.scene.addChild(buttonDark, buttonGroupLight, buttonGroupRed)
|
|
app.scene.addChild(switchDark, switchLight, switchRed)
|
|
app.scene.addChild(buttonYellow)
|
|
</script>
|
|
</body>
|
|
</html>
|