removed 'application' folder to have everything in the root directory

This commit is contained in:
Steffen Schröder
2014-09-29 18:20:09 +02:00
parent 1569fd5488
commit 9642433363
284 changed files with 4 additions and 50 deletions

117
libs/FML/Controls/Audio.php Normal file
View File

@ -0,0 +1,117 @@
<?php
namespace FML\Controls;
use FML\Types\Playable;
use FML\Types\Scriptable;
/**
* Audio Control
* (CMlMediaPlayer)
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Audio extends Control implements Playable, Scriptable {
/*
* Protected properties
*/
protected $tagName = 'audio';
protected $data = null;
protected $dataId = null;
protected $play = null;
protected $looping = true;
protected $music = null;
protected $volume = 1.;
protected $scriptEvents = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlMediaPlayer';
}
/**
* @see \FML\Types\Playable::setData()
*/
public function setData($data) {
$this->data = (string)$data;
return $this;
}
/**
* @see \FML\Types\Playable::setDataId()
*/
public function setDataId($dataId) {
$this->dataId = (string)$dataId;
return $this;
}
/**
* @see \FML\Types\Playable::setPlay()
*/
public function setPlay($play) {
$this->play = ($play ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setLooping()
*/
public function setLooping($looping) {
$this->looping = ($looping ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setMusic()
*/
public function setMusic($music) {
$this->music = ($music ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setVolume()
*/
public function setVolume($volume) {
$this->volume = (float)$volume;
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->data) {
$xmlElement->setAttribute('data', $this->data);
}
if ($this->play) {
$xmlElement->setAttribute('play', $this->play);
}
if (!$this->looping) {
$xmlElement->setAttribute('looping', $this->looping);
}
if ($this->music) {
$xmlElement->setAttribute('music', $this->music);
}
if ($this->volume != 1.) {
$xmlElement->setAttribute('volume', $this->volume);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,505 @@
<?php
namespace FML\Controls;
use FML\Script\Builder;
use FML\Script\Features\ActionTrigger;
use FML\Script\Features\ControlScript;
use FML\Script\Features\MapInfo;
use FML\Script\Features\PlayerProfile;
use FML\Script\Features\ScriptFeature;
use FML\Script\Features\Toggle;
use FML\Script\Features\Tooltip;
use FML\Script\Features\UISound;
use FML\Script\ScriptLabel;
use FML\Types\Renderable;
use FML\Types\ScriptFeatureable;
use FML\UniqueID;
/**
* Base Control
* (CMlControl)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
abstract class Control implements Renderable, ScriptFeatureable {
/*
* Constants
*/
const CENTER = 'center';
const CENTER2 = 'center2';
const TOP = 'top';
const RIGHT = 'right';
const BOTTOM = 'bottom';
const LEFT = 'left';
/*
* Protected properties
*/
protected $tagName = 'control';
protected $controlId = null;
protected $posX = 0.;
protected $posY = 0.;
protected $posZ = 0.;
protected $width = -1.;
protected $height = -1.;
protected $hAlign = self::CENTER;
protected $vAlign = self::CENTER2;
protected $scale = 1.;
protected $hidden = null;
protected $rotation = 0.;
/** @var string[] $classes */
protected $classes = array();
/** @var ScriptFeature[] $scriptFeatures */
protected $scriptFeatures = array();
/**
* Create a new Control object
*
* @param string $controlId (optional) Control id
* @return static
*/
public static function create($controlId = null) {
return new static($controlId);
}
/**
* Construct a new Control object
*
* @param string $controlId (optional) Control id
*/
public function __construct($controlId = null) {
if ($controlId !== null) {
$this->setId($controlId);
}
}
/**
* Check Id for dangerous characters and assign a new unique id if necessary
*
* @param bool $forceNewId (optional) Whether to force setting a newly generated id
* @return static
*/
public function checkId($forceNewId = false) {
if ($forceNewId || !$this->getId()) {
$this->setId(new UniqueID());
return $this;
}
$dangerousCharacters = array(' ', ' ', '.', '|', '-', PHP_EOL);
$idCharacters = str_split($this->getId());
$danger = false;
foreach ($idCharacters as $character) {
if (!in_array($character, $dangerousCharacters)) {
continue;
}
$danger = true;
break;
}
if ($danger) {
trigger_error("Please don't use special characters in ids, they might cause problems! (I stripped them for you.)");
$controlId = str_ireplace($dangerousCharacters, '', $this->getId());
$this->setId($controlId);
}
return $this;
}
/**
* Get the Control id
*
* @param bool $escaped (optional) Whether the id should be escaped for ManiaScript
* @param bool $addApostrophes (optional) Whether to add apostrophes before and after the text
* @return string
*/
public function getId($escaped = false, $addApostrophes = false) {
if ($escaped) {
return Builder::escapeText($this->controlId, $addApostrophes);
}
return $this->controlId;
}
/**
* Set Control id
*
* @param string $controlId Control id
* @return static
*/
public function setId($controlId) {
$this->controlId = (string)$controlId;
return $this;
}
/**
* Set Control position
*
* @param float $posX Horizontal position
* @param float $posY Vertical position
* @param float $posZ (optional) Depth
* @return static
*/
public function setPosition($posX, $posY, $posZ = null) {
$this->setX($posX);
$this->setY($posY);
if ($posZ !== null) {
$this->setZ($posZ);
}
return $this;
}
/**
* Set X position
*
* @param float $posX Horizontal position
* @return static
*/
public function setX($posX) {
$this->posX = (float)$posX;
return $this;
}
/**
* Set Y position
*
* @param float $posY Vertical position
* @return static
*/
public function setY($posY) {
$this->posY = (float)$posY;
return $this;
}
/**
* Set Z position
*
* @param float $posZ Depth
* @return static
*/
public function setZ($posZ) {
$this->posZ = (float)$posZ;
return $this;
}
/**
* Set Control size
*
* @param float $width Control width
* @param float $height Control height
* @return static
*/
public function setSize($width, $height) {
$this->setWidth($width);
$this->setHeight($height);
return $this;
}
/**
* Set Control width
*
* @param float $width Control width
* @return static
*/
public function setWidth($width) {
$this->width = (float)$width;
return $this;
}
/**
* Set Control height
*
* @param float $height Control height
* @return static
*/
public function setHeight($height) {
$this->height = (float)$height;
return $this;
}
/**
* Center alignment
*
* @return static
*/
public function centerAlign() {
$this->setAlign(self::CENTER, self::CENTER2);
return $this;
}
/**
* Set horizontal and vertical alignment
*
* @param string $hAlign Horizontal alignment
* @param string $vAlign Vertical alignment
* @return static
*/
public function setAlign($hAlign, $vAlign) {
$this->setHAlign($hAlign);
$this->setVAlign($vAlign);
return $this;
}
/**
* Set horizontal alignment
*
* @param string $hAlign Horizontal alignment
* @return static
*/
public function setHAlign($hAlign) {
$this->hAlign = (string)$hAlign;
return $this;
}
/**
* Set vertical alignment
*
* @param string $vAlign Vertical alignment
* @return static
*/
public function setVAlign($vAlign) {
$this->vAlign = (string)$vAlign;
return $this;
}
/**
* Reset alignment
*
* @return static
*/
public function resetAlign() {
$this->setAlign(null, null);
return $this;
}
/**
* Set Control scale
*
* @param float $scale Control scale
* @return static
*/
public function setScale($scale) {
$this->scale = (float)$scale;
return $this;
}
/**
* Set visibility
*
* @param bool $visible Whether the Control should be visible
* @return static
*/
public function setVisible($visible = true) {
$this->hidden = ($visible ? 0 : 1);
return $this;
}
/**
* Set Control rotation
*
* @param float $rotation Control rotation
* @return static
*/
public function setRotation($rotation) {
$this->rotation = (float)$rotation;
return $this;
}
/**
* Add a new class name
*
* @param string $class Class name
* @return static
*/
public function addClass($class) {
$class = (string)$class;
if (!in_array($class, $this->classes)) {
array_push($this->classes, $class);
}
return $this;
}
/**
* Add a dynamic Action Trigger
*
* @param string $actionName Action to trigger
* @param string $eventLabel (optional) Event on which the action is triggered
* @return static
*/
public function addActionTriggerFeature($actionName, $eventLabel = ScriptLabel::MOUSECLICK) {
if ($actionName instanceof ActionTrigger) {
$this->addScriptFeature($actionName);
} else {
$actionTrigger = new ActionTrigger($actionName, $this, $eventLabel);
$this->addScriptFeature($actionTrigger);
}
return $this;
}
/**
* Add a new Script Feature
*
* @param ScriptFeature $scriptFeature Script Feature
* @return static
*/
public function addScriptFeature(ScriptFeature $scriptFeature) {
if (!in_array($scriptFeature, $this->scriptFeatures, true)) {
array_push($this->scriptFeatures, $scriptFeature);
}
return $this;
}
/**
* Add a dynamic Feature opening the current map info
*
* @param string $eventLabel (optional) Event on which the map info will be opened
* @return static
*/
public function addMapInfoFeature($eventLabel = ScriptLabel::MOUSECLICK) {
$mapInfo = new MapInfo($this, $eventLabel);
$this->addScriptFeature($mapInfo);
return $this;
}
/**
* Add a dynamic Feature to open a specific player profile
*
* @param string $login Login of the player
* @param string $eventLabel (optional) Event on which the player profile will be opened
* @return static
*/
public function addPlayerProfileFeature($login, $eventLabel = ScriptLabel::MOUSECLICK) {
$playerProfile = new PlayerProfile($login, $this, $eventLabel);
$this->addScriptFeature($playerProfile);
return $this;
}
/**
* Add a dynamic Feature playing a UISound
*
* @param string $soundName UISound name
* @param int $variant (optional) Sound variant
* @param string $eventLabel (optional) Event on which the sound will be played
* @return static
*/
public function addUISoundFeature($soundName, $variant = 0, $eventLabel = ScriptLabel::MOUSECLICK) {
$uiSound = new UISound($soundName, $this, $variant, $eventLabel);
$this->addScriptFeature($uiSound);
return $this;
}
/**
* Add a dynamic Feature toggling another Control
*
* @param Control $toggledControl Toggled Control
* @param string $labelName (optional) Script label name
* @param bool $onlyShow (optional) Whether it should only show the Control but not toggle
* @param bool $onlyHide (optional) Whether it should only hide the Control but not toggle
* @return static
*/
public function addToggleFeature(Control $toggledControl, $labelName = Scriptlabel::MOUSECLICK, $onlyShow = false, $onlyHide = false) {
$toggle = new Toggle($this, $toggledControl, $labelName, $onlyShow, $onlyHide);
$this->addScriptFeature($toggle);
return $this;
}
/**
* Add a dynamic Feature showing a Tooltip on hovering
*
* @param Control $tooltipControl Tooltip Control
* @param bool $stayOnClick (optional) Whether the Tooltip should stay on click
* @param bool $invert (optional) Whether the visibility toggling should be inverted
* @return static
*/
public function addTooltipFeature(Control $tooltipControl, $stayOnClick = false, $invert = false) {
$tooltip = new Tooltip($this, $tooltipControl, $stayOnClick, $invert);
$this->addScriptFeature($tooltip);
return $this;
}
/**
* Add a dynamic Feature showing a Tooltip on hovering
*
* @param Label $tooltipControl Tooltip Control
* @param string $text Text to display on the Tooltip Label
* @param bool $stayOnClick (optional) Whether the Tooltip should stay on click
* @param bool $invert (optional) Whether the visibility toggling should be inverted
* @return static
*/
public function addTooltipLabelFeature(Label $tooltipControl, $text, $stayOnClick = false, $invert = false) {
$tooltip = new Tooltip($this, $tooltipControl, $stayOnClick, $invert, $text);
$this->addScriptFeature($tooltip);
return $this;
}
/**
* Add a custom Control Script text part
*
* @param string $scriptText Script text
* @param string $label (optional) Script label name
* @return static
*/
public function addScriptText($scriptText, $label = ScriptLabel::MOUSECLICK) {
$customText = new ControlScript($this, $scriptText, $label);
$this->addScriptFeature($customText);
return $this;
}
/**
* Remove all Script Features
*
* @return static
*/
public function removeScriptFeatures() {
$this->scriptFeatures = array();
return $this;
}
/**
* @see \FML\Types\ScriptFeatureable::getScriptFeatures()
*/
public function getScriptFeatures() {
return $this->scriptFeatures;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = $domDocument->createElement($this->tagName);
if ($this->controlId) {
$xmlElement->setAttribute('id', $this->controlId);
}
if ($this->posX || $this->posY || $this->posZ) {
$xmlElement->setAttribute('posn', "{$this->posX} {$this->posY} {$this->posZ}");
}
if ($this->width >= 0. || $this->height >= 0.) {
$xmlElement->setAttribute('sizen', "{$this->width} {$this->height}");
}
if ($this->hAlign !== self::LEFT) {
$xmlElement->setAttribute('halign', $this->hAlign);
}
if ($this->vAlign !== self::TOP) {
$xmlElement->setAttribute('valign', $this->vAlign);
}
if ($this->scale != 1.) {
$xmlElement->setAttribute('scale', $this->scale);
}
if ($this->hidden) {
$xmlElement->setAttribute('hidden', $this->hidden);
}
if ($this->rotation) {
$xmlElement->setAttribute('rot', $this->rotation);
}
if (!empty($this->classes)) {
$classes = implode(' ', $this->classes);
$xmlElement->setAttribute('class', $classes);
}
return $xmlElement;
}
/**
* Get the ManiaScript class of the Control
*
* @return string
*/
public abstract function getManiaScriptClass();
}

217
libs/FML/Controls/Entry.php Normal file
View File

@ -0,0 +1,217 @@
<?php
namespace FML\Controls;
use FML\Script\Features\EntrySubmit;
use FML\Types\NewLineable;
use FML\Types\Scriptable;
use FML\Types\Styleable;
use FML\Types\TextFormatable;
/**
* Entry Control
* (CMlEntry)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Entry extends Control implements NewLineable, Scriptable, Styleable, TextFormatable {
/*
* Protected properties
*/
protected $tagName = 'entry';
protected $name = null;
protected $default = null;
protected $autoNewLine = null;
protected $scriptEvents = null;
protected $style = null;
protected $textColor = null;
protected $textSize = -1;
protected $textFont = null;
protected $focusAreaColor1 = null;
protected $focusAreaColor2 = null;
protected $autoComplete = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlEntry';
}
/**
* Get the Entry name
*
* @return string
*/
public function getName() {
return $this->name;
}
/**
* Set Entry name
*
* @param string $name Entry name
* @return static
*/
public function setName($name) {
$this->name = (string)$name;
return $this;
}
/**
* Get the default value
*
* @return mixed
*/
public function getDefault() {
return $this->default;
}
/**
* Set default value
*
* @param string $default Default value
* @return static
*/
public function setDefault($default) {
$this->default = $default;
return $this;
}
/**
* @see \FML\Types\NewLineable::setAutoNewLine()
*/
public function setAutoNewLine($autoNewLine) {
$this->autoNewLine = ($autoNewLine ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Styleable::setStyle()
*/
public function setStyle($style) {
$this->style = (string)$style;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextColor()
*/
public function setTextColor($textColor) {
$this->textColor = (string)$textColor;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextSize()
*/
public function setTextSize($textSize) {
$this->textSize = (int)$textSize;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextFont()
*/
public function setTextFont($textFont) {
$this->textFont = (string)$textFont;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setAreaColor()
*/
public function setAreaColor($areaColor) {
$this->focusAreaColor1 = (string)$areaColor;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setAreaFocusColor()
*/
public function setAreaFocusColor($areaFocusColor) {
$this->focusAreaColor2 = (string)$areaFocusColor;
return $this;
}
/**
* Set auto completion
*
* @param bool $autoComplete Whether the default value should be automatically completed based on the current request parameters
* @return static
*/
public function setAutoComplete($autoComplete) {
$this->autoComplete = (bool)$autoComplete;
return $this;
}
/**
* Add a dynamic Feature submitting the Entry
*
* @param string $url Submit url
* @return static
*/
public function addSubmitFeature($url) {
$entrySubmit = new EntrySubmit($this, $url);
$this->addScriptFeature($entrySubmit);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->name) {
$xmlElement->setAttribute('name', $this->name);
}
if ($this->default !== null) {
$xmlElement->setAttribute('default', $this->default);
} else if ($this->autoComplete) {
$value = null;
if (array_key_exists($this->name, $_GET)) {
$value = $_GET[$this->name];
} else if (array_key_exists($this->name, $_POST)) {
$value = $_POST[$this->name];
}
if ($value) {
$xmlElement->setAttribute('default', $value);
}
}
if ($this->autoNewLine) {
$xmlElement->setAttribute('autonewline', $this->autoNewLine);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
if ($this->style) {
$xmlElement->setAttribute('style', $this->style);
}
if ($this->textColor) {
$xmlElement->setAttribute('textcolor', $this->textColor);
}
if ($this->textSize >= 0.) {
$xmlElement->setAttribute('textsize', $this->textSize);
}
if ($this->textFont) {
$xmlElement->setAttribute('textfont', $this->textFont);
}
if ($this->focusAreaColor1) {
$xmlElement->setAttribute('focusareacolor1', $this->focusAreaColor1);
}
if ($this->focusAreaColor2) {
$xmlElement->setAttribute('focusareacolor2', $this->focusAreaColor2);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,48 @@
<?php
namespace FML\Controls;
/**
* FileEntry Control
* (CMlFileEntry)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class FileEntry extends Entry {
/*
* Protected properties
*/
protected $tagName = 'fileentry';
protected $folder = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlFileEntry';
}
/**
* Set the base folder
*
* @param string $folder Base folder
* @return static
*/
public function setFolder($folder) {
$this->folder = (string)$folder;
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->folder) {
$xmlElement->setAttribute('folder', $this->folder);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,99 @@
<?php
namespace FML\Controls;
use FML\Elements\Format;
use FML\Types\Container;
use FML\Types\Renderable;
use FML\Types\ScriptFeatureable;
/**
* Frame Control
* (CMlFrame)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Frame extends Control implements Container {
/*
* Protected properties
*/
protected $tagName = 'frame';
/** @var Renderable[] $children */
protected $children = array();
/** @var Format $format */
protected $format = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlFrame';
}
/**
* @see \FML\Types\Container::add()
*/
public function add(Renderable $child) {
if (!in_array($child, $this->children, true)) {
array_push($this->children, $child);
}
return $this;
}
/**
* @see \FML\Types\Container::removeChildren()
*/
public function removeChildren() {
$this->children = array();
return $this;
}
/**
* @see \FML\Types\Container::getFormat()
*/
public function getFormat($createIfEmpty = true) {
if (!$this->format && $createIfEmpty) {
$this->setFormat(new Format());
}
return $this->format;
}
/**
* @see \FML\Types\Container::setFormat()
*/
public function setFormat(Format $format) {
$this->format = $format;
return $this;
}
/**
* @see \FML\Controls\Control::getScriptFeatures()
*/
public function getScriptFeatures() {
$scriptFeatures = $this->scriptFeatures;
foreach ($this->children as $child) {
if ($child instanceof ScriptFeatureable) {
$scriptFeatures = array_merge($scriptFeatures, $child->getScriptFeatures());
}
}
return $scriptFeatures;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->format) {
$formatXml = $this->format->render($domDocument);
$xmlElement->appendChild($formatXml);
}
foreach ($this->children as $child) {
$childXmlElement = $child->render($domDocument);
$xmlElement->appendChild($childXmlElement);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,88 @@
<?php
namespace FML\Controls;
use FML\Stylesheet\Style3d;
use FML\Types\Scriptable;
/**
* Frame3d Control
* (CMlFrame)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Frame3d extends Frame implements Scriptable {
/*
* Constants
*/
const STYLE_BaseStation = 'BaseStation';
const STYLE_BaseBoxCase = 'BaseBoxCase';
const STYLE_Titlelogo = 'Titlelogo';
const STYLE_ButtonBack = 'ButtonBack';
const STYLE_ButtonNav = 'ButtonNav';
const STYLE_ButtonH = 'ButtonH';
const STYLE_Station3x3 = 'Station3x3';
const STYLE_Title = 'Title';
const STYLE_TitleEditor = 'TitleEditor';
const STYLE_Window = 'Window';
/*
* Protected properties
*/
protected $tagName = 'frame3d';
protected $style3dId = null;
/** @var Style3d $style3d */
protected $style3d = null;
protected $scriptEvents = null;
/**
* Set Style3d id
*
* @param string $style3dId Style3d id
* @return static
*/
public function setStyle3dId($style3dId) {
$this->style3dId = (string)$style3dId;
$this->style3d = null;
return $this;
}
/**
* Set Style3d
*
* @param Style3d $style3d Style3d object
* @return static
*/
public function setStyle3d(Style3d $style3d) {
$this->style3d = $style3d;
$this->style3dId = null;
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->style3d) {
$this->style3d->checkId();
$xmlElement->setAttribute('style3d', $this->style3d->getId());
} else if ($this->style3dId) {
$xmlElement->setAttribute('style3d', $this->style3dId);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,92 @@
<?php
namespace FML\Controls;
use FML\Elements\FrameModel;
/**
* Class representing an instance of a Frame Model
* (CMlFrame)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class FrameInstance extends Control {
/*
* Protected properties
*/
protected $tagName = 'frameinstance';
protected $modelId = null;
/** @var FrameModel $model */
protected $model = null;
/**
* Create a new Frame Instance object
*
* @param string $modelId (optional) Frame Model id
* @param string $controlId (optional) Frame id
* @return static
*/
public static function create($modelId = null, $controlId = null) {
return new static($modelId, $controlId);
}
/**
* Construct a new Frame Instance object
*
* @param string $modelId (optional) Frame Model id
* @param string $controlId (optional) Frame id
*/
public function __construct($modelId = null, $controlId = null) {
parent::__construct($controlId);
if ($modelId !== null) {
$this->setModelId($modelId);
}
}
/**
* Set Frame Model id
*
* @param string $modelId Frame Model id
* @return static
*/
public function setModelId($modelId) {
$this->modelId = (string)$modelId;
$this->model = null;
return $this;
}
/**
* Set Frame Model
*
* @param FrameModel $frameModel Frame Model
* @return static
*/
public function setModel(FrameModel $frameModel) {
$this->model = $frameModel;
$this->modelId = null;
return $this;
}
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlFrame';
}
/**
* @see \FML\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->model) {
$this->model->checkId();
$xmlElement->setAttribute('modelid', $this->model->getId());
} else if ($this->modelId) {
$xmlElement->setAttribute('modelid', $this->modelId);
}
return $xmlElement;
}
}

160
libs/FML/Controls/Gauge.php Normal file
View File

@ -0,0 +1,160 @@
<?php
namespace FML\Controls;
use FML\Types\Styleable;
/**
* Gauge Control
* (CMlGauge)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Gauge extends Control implements Styleable {
/*
* Constants
*/
const STYLE_BgCard = 'BgCard';
const STYLE_EnergyBar = 'EnergyBar';
const STYLE_ProgressBar = 'ProgressBar';
const STYLE_ProgressBarSmall = 'ProgressBarSmall';
/*
* Protected properties
*/
protected $tagName = 'gauge';
protected $ratio = 0.;
protected $grading = 1.;
protected $color = null;
protected $centered = null;
protected $clan = null;
protected $drawBg = 1;
protected $drawBlockBg = 1;
protected $style = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlGauge';
}
/**
* Set ratio
*
* @param float $ratio Ratio value
* @return static
*/
public function setRatio($ratio) {
$this->ratio = (float)$ratio;
return $this;
}
/**
* Set grading
*
* @param float $grading Grading value
* @return static
*/
public function setGrading($grading) {
$this->grading = (float)$grading;
return $this;
}
/**
* Set color
*
* @param string $color Gauge color
* @return static
*/
public function setColor($color) {
$this->color = (string)$color;
return $this;
}
/**
* Set centered
*
* @param bool $centered Whether the Gauge is centered
* @return static
*/
public function setCentered($centered) {
$this->centered = ($centered ? 1 : 0);
return $this;
}
/**
* Set clan
*
* @param int $clan Clan number
* @return static
*/
public function setClan($clan) {
$this->clan = (int)$clan;
return $this;
}
/**
* Set draw background
*
* @param bool $drawBg Whether the Gauges background should be drawn
* @return static
*/
public function setDrawBg($drawBg) {
$this->drawBg = ($drawBg ? 1 : 0);
return $this;
}
/**
* Set draw block background
*
* @param bool $drawBlockBg Whether the Gauges block background should be drawn
* @return static
*/
public function setDrawBlockBg($drawBlockBg) {
$this->drawBlockBg = ($drawBlockBg ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Styleable::setStyle()
*/
public function setStyle($style) {
$this->style = (string)$style;
return $this;
}
/**
* @see \FML\Control::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->ratio) {
$xmlElement->setAttribute('ratio', $this->ratio);
}
if ($this->grading != 1.) {
$xmlElement->setAttribute('grading', $this->grading);
}
if ($this->color) {
$xmlElement->setAttribute('color', $this->color);
}
if ($this->centered) {
$xmlElement->setAttribute('centered', $this->centered);
}
if ($this->clan) {
$xmlElement->setAttribute('clan', $this->clan);
}
if (!$this->drawBg) {
$xmlElement->setAttribute('drawbg', $this->drawBg);
}
if (!$this->drawBlockBg) {
$xmlElement->setAttribute('drawblockbg', $this->drawBlockBg);
}
if ($this->style) {
$xmlElement->setAttribute('style', $this->style);
}
return $xmlElement;
}
}

317
libs/FML/Controls/Label.php Normal file
View File

@ -0,0 +1,317 @@
<?php
namespace FML\Controls;
use FML\Script\Features\Clock;
use FML\Types\Actionable;
use FML\Types\Linkable;
use FML\Types\NewLineable;
use FML\Types\Scriptable;
use FML\Types\Styleable;
use FML\Types\TextFormatable;
/**
* Label Control
* (CMlLabel)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Label extends Control implements Actionable, Linkable, NewLineable, Scriptable, Styleable, TextFormatable {
/*
* Protected properties
*/
protected $tagName = 'label';
protected $text = null;
protected $textId = null;
protected $textPrefix = null;
protected $textEmboss = null;
protected $translate = null;
protected $maxLines = -1;
protected $opacity = 1.;
protected $action = null;
protected $actionKey = -1;
protected $url = null;
protected $urlId = null;
protected $manialink = null;
protected $manialinkId = null;
protected $autoNewLine = null;
protected $scriptEvents = null;
protected $style = null;
protected $textSize = -1;
protected $textFont = null;
protected $textColor = null;
protected $focusAreaColor1 = null;
protected $focusAreaColor2 = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlLabel';
}
/**
* Set text
*
* @param string $text Text value
* @return static
*/
public function setText($text) {
$this->text = (string)$text;
return $this;
}
/**
* Set text id to use from Dico
*
* @param string $textId Text id
* @return static
*/
public function setTextId($textId) {
$this->textId = (string)$textId;
return $this;
}
/**
* Set text prefix
*
* @param string $textPrefix Text prefix
* @return static
*/
public function setTextPrefix($textPrefix) {
$this->textPrefix = (string)$textPrefix;
return $this;
}
/**
* Set text emboss
*
* @param bool $textEmboss Whether the text should be embossed
* @return static
*/
public function setTextEmboss($textEmboss) {
$this->textEmboss = ($textEmboss ? 1 : 0);
return $this;
}
/**
* Set translate
*
* @param bool $translate Whether the text should be translated
* @return static
*/
public function setTranslate($translate) {
$this->translate = ($translate ? 1 : 0);
return $this;
}
/**
* Set max lines count
*
* @param int $maxLines Max lines count
* @return static
*/
public function setMaxLines($maxLines) {
$this->maxLines = (int)$maxLines;
return $this;
}
/**
* @see \FML\Types\Actionable::getAction()
*/
public function getAction() {
return $this->action;
}
/**
* @see \FML\Types\Actionable::setAction()
*/
public function setAction($action) {
$this->action = (string)$action;
return $this;
}
/**
* @see \FML\Types\Actionable::setActionKey()
*/
public function setActionKey($actionKey) {
$this->actionKey = (int)$actionKey;
return $this;
}
/**
* @see \FML\Types\Linkable::setUrl()
*/
public function setUrl($url) {
$this->url = (string)$url;
return $this;
}
/**
* @see \FML\Types\Linkable::setUrlId()
*/
public function setUrlId($urlId) {
$this->urlId = (string)$urlId;
return $this;
}
/**
* @see \FML\Types\Linkable::setManialink()
*/
public function setManialink($manialink) {
$this->manialink = (string)$manialink;
return $this;
}
/**
* @see \FML\Types\Linkable::setManialinkId()
*/
public function setManialinkId($manialinkId) {
$this->manialinkId = (string)$manialinkId;
return $this;
}
/**
* @see \FML\Types\NewLineable::setAutoNewLine()
*/
public function setAutoNewLine($autoNewLine) {
$this->autoNewLine = ($autoNewLine ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Styleable::setStyle()
*/
public function setStyle($style) {
$this->style = (string)$style;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextSize()
*/
public function setTextSize($textSize) {
$this->textSize = (int)$textSize;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextFont()
*/
public function setTextFont($textFont) {
$this->textFont = (string)$textFont;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setTextColor()
*/
public function setTextColor($textColor) {
$this->textColor = (string)$textColor;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setAreaColor()
*/
public function setAreaColor($areaColor) {
$this->focusAreaColor1 = (string)$areaColor;
return $this;
}
/**
* @see \FML\Types\TextFormatable::setAreaFocusColor()
*/
public function setAreaFocusColor($areaFocusColor) {
$this->focusAreaColor2 = (string)$areaFocusColor;
return $this;
}
/**
* Add a dynamic Feature showing the current time
*
* @param bool $showSeconds (optional) Whether the seconds should be shown
* @param bool $showFullDate (optional) Whether the date should be shown
* @return static
*/
public function addClockFeature($showSeconds = true, $showFullDate = false) {
$clock = new Clock($this, $showSeconds, $showFullDate);
$this->addScriptFeature($clock);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if (strlen($this->text) > 0) {
$xmlElement->setAttribute('text', $this->text);
}
if ($this->textId) {
$xmlElement->setAttribute('textid', $this->textId);
}
if ($this->textPrefix) {
$xmlElement->setAttribute('textprefix', $this->textPrefix);
}
if ($this->textEmboss) {
$xmlElement->setAttribute('textemboss', $this->textEmboss);
}
if ($this->translate) {
$xmlElement->setAttribute('translate', $this->translate);
}
if ($this->maxLines >= 0) {
$xmlElement->setAttribute('maxlines', $this->maxLines);
}
if ($this->opacity != 1.) {
$xmlElement->setAttribute('opacity', $this->opacity);
}
if (strlen($this->action) > 0) {
$xmlElement->setAttribute('action', $this->action);
}
if ($this->actionKey >= 0) {
$xmlElement->setAttribute('actionkey', $this->actionKey);
}
if ($this->url) {
$xmlElement->setAttribute('url', $this->url);
}
if ($this->manialink) {
$xmlElement->setAttribute('manialink', $this->manialink);
}
if ($this->autoNewLine) {
$xmlElement->setAttribute('autonewline', $this->autoNewLine);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
if ($this->style) {
$xmlElement->setAttribute('style', $this->style);
}
if ($this->textSize >= 0) {
$xmlElement->setAttribute('textsize', $this->textSize);
}
if ($this->textFont) {
$xmlElement->setAttribute('textfont', $this->textFont);
}
if ($this->textColor) {
$xmlElement->setAttribute('textcolor', $this->textColor);
}
if ($this->focusAreaColor1) {
$xmlElement->setAttribute('focusareacolor1', $this->focusAreaColor1);
}
if ($this->focusAreaColor2) {
$xmlElement->setAttribute('focusareacolor2', $this->focusAreaColor2);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,38 @@
<?php
namespace FML\Controls\Labels;
use FML\Controls\Label;
/**
* Label class for button styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Label_Button extends Label {
/*
* Constants
*/
const STYLE_CardButtonMedium = 'CardButtonMedium';
const STYLE_CardButtonMediumL = 'CardButtonMediumL';
const STYLE_CardButtonMediumS = 'CardButtonMediumS';
const STYLE_CardButtonMediumWide = 'CardButtonMediumWide';
const STYLE_CardButtonMediumXL = 'CardButtonMediumXL';
const STYLE_CardButtonMediumXS = 'CardButtonMediumXS';
const STYLE_CardButtonMediumXXL = 'CardButtonMediumXXL';
const STYLE_CardButtonMediumXXXL = 'CardButtonMediumXXXL';
const STYLE_CardButtonSmall = 'CardButtonSmall';
const STYLE_CardButtonSmallL = 'CardButtonSmallL';
const STYLE_CardButtonSmallS = 'CardButtonSmallS';
const STYLE_CardButtonSmallWide = 'CardButtonSmallWide';
const STYLE_CardButtonSmallXL = 'CardButtonSmallXL';
const STYLE_CardButtonSmallXS = 'CardButtonSmallXS';
const STYLE_CardButtonSmallXXL = 'CardButtonSmallXXL';
const STYLE_CardButtonSmallXXXL = 'CardButtonSmallXXXL';
const STYLE_CardMain_Quit = 'CardMain_Quit';
const STYLE_CardMain_Tool = 'CardMain_Tool';
const STYLE_CardMain_Tool_NoBg = 'CardMain_Tool_NoBg';
const STYLE_CardMain_Tool_NoBg2 = 'CardMain_Tool_NoBg2';
}

View File

@ -0,0 +1,97 @@
<?php
namespace FML\Controls\Labels;
use FML\Controls\Label;
/**
* Label class for text styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Label_Text extends Label {
/*
* Constants
*/
const STYLE_AvatarButtonNormal = 'AvatarButtonNormal';
const STYLE_BgMainMenuTitleHeader = 'BgMainMenuTitleHeader';
const STYLE_Default = 'Default';
const STYLE_FrameTransitionFromLeft = 'FrameTransitionFromLeft';
const STYLE_FrameTransitionsFromRight = 'FrameTransitionsFromRight';
const STYLE_ListItemMedal = 'ListItemMedal';
const STYLE_Manialink_Body = 'Manialink_Body';
const STYLE_ProgressBar = 'ProgressBar';
const STYLE_ProgressBarSmall = 'ProgressBarSmall';
const STYLE_SliderSmall = 'SliderSmall';
const STYLE_SliderVolume = 'SliderVolume';
const STYLE_StyleTextScriptEditor = 'StyleTextScriptEditor';
const STYLE_StyleValueYellowSmall = 'StyleValueYellowSmall';
const STYLE_TextActionMaker = 'TextActionMaker';
const STYLE_TextButtonBig = 'TextButtonBig';
const STYLE_TextButtonMedium = 'TextButtonMedium';
const STYLE_TextButtonNav = 'TextButtonNav';
const STYLE_TextButtonNavBack = 'TextButtonNavBack';
const STYLE_TextButtonSmall = 'TextButtonSmall';
const STYLE_TextCardInfoSmall = 'TextCardInfoSmall';
const STYLE_TextCardInfoVerySmall = 'TextCardInfoVerySmall';
const STYLE_TextCardMedium = 'TextCardMedium';
const STYLE_TextCardMediumWhite = 'TextCardMediumWhite';
const STYLE_TextCardRaceRank = 'TextCardRaceRank';
const STYLE_TextCardScores2 = 'TextCardScores2';
const STYLE_TextCardSmall = 'TextCardSmall';
const STYLE_TextCardSmallScores2 = 'TextCardSmallScores2';
const STYLE_TextCardSmallScores2Rank = 'TextCardSmallScores2Rank';
const STYLE_TextChallengeNameMedal = 'TextChallengeNameMedal';
const STYLE_TextChallengeNameMedalNone = 'TextChallengeNameMedalNone';
const STYLE_TextChallengeNameMedium = 'TextChallengeNameMedium';
const STYLE_TextChallengeNameSmall = 'TextChallengeNameSmall';
const STYLE_TextCongratsBig = 'TextCongratsBig';
const STYLE_TextCredits = 'TextCredits';
const STYLE_TextCreditsTitle = 'TextCreditsTitle';
const STYLE_TextEditorArticle = 'TextEditorArticle';
const STYLE_TextInfoMedium = 'TextInfoMedium';
const STYLE_TextInfoSmall = 'TextInfoSmall';
const STYLE_TextPlayerCardName = 'TextPlayerCardName';
const STYLE_TextPlayerCardScore = 'TextPlayerCardScore';
const STYLE_TextRaceChat = 'TextRaceChat';
const STYLE_TextRaceChrono = 'TextRaceChrono';
const STYLE_TextRaceChronoError = 'TextRaceChronoError';
const STYLE_TextRaceChronoOfficial = 'TextRaceChronoOfficial';
const STYLE_TextRaceChronoWarning = 'TextRaceChronoWarning';
const STYLE_TextRaceMessage = 'TextRaceMessage';
const STYLE_TextRaceMessageBig = 'TextRaceMessageBig';
const STYLE_TextRaceStaticSmall = 'TextRaceStaticSmall';
const STYLE_TextRaceValueSmall = 'TextRaceValueSmall';
const STYLE_TextRankingsBig = 'TextRankingsBig';
const STYLE_TextSPScoreBig = 'TextSPScoreBig';
const STYLE_TextSPScoreMedium = 'TextSPScoreMedium';
const STYLE_TextSPScoreSmall = 'TextSPScoreSmall';
const STYLE_TextStaticMedium = 'TextStaticMedium';
const STYLE_TextStaticSmall = 'TextStaticSmall';
const STYLE_TextStaticVerySmall = 'TextStaticVerySmall';
const STYLE_TextSubTitle1 = 'TextSubTitle1';
const STYLE_TextSubTitle2 = 'TextSubTitle2';
const STYLE_TextTips = 'TextTips';
const STYLE_TextTitle1 = 'TextTitle1';
const STYLE_TextTitle2 = 'TextTitle2';
const STYLE_TextTitle2Blink = 'TextTitle2Blink';
const STYLE_TextTitle3 = 'TextTitle3';
const STYLE_TextTitle3Header = 'TextTitle3Header';
const STYLE_TextTitleError = 'TextTitleError';
const STYLE_TextToolTipAM = 'TextToolTipAM';
const STYLE_TextToolTipAMBig = 'TextToolTipAMBig';
const STYLE_TextValueBig = 'TextValueBig';
const STYLE_TextValueMedium = 'TextValueMedium';
const STYLE_TextValueMediumSm = 'TextValueMediumSm';
const STYLE_TextValueSmall = 'TextValueSmall';
const STYLE_TextValueSmallSm = 'TextValueSmallSm';
const STYLE_TrackerText = 'TrackerText';
const STYLE_TrackerTextBig = 'TrackerTextBig';
const STYLE_TrackListItem = 'TrackListItem';
const STYLE_TrackListLine = 'TrackListLine';
const STYLE_UiDriving_BgBottom = 'UiDriving_BgBottom';
const STYLE_UiDriving_BgCard = 'UiDriving_BgCard';
const STYLE_UiDriving_BgCenter = 'UiDriving_BgCenter';
}

339
libs/FML/Controls/Quad.php Normal file
View File

@ -0,0 +1,339 @@
<?php
namespace FML\Controls;
use FML\Models\CheckBoxDesign;
use FML\Types\Actionable;
use FML\Types\BgColorable;
use FML\Types\Linkable;
use FML\Types\Scriptable;
use FML\Types\Styleable;
use FML\Types\SubStyleable;
/**
* Quad Control
* (CMlQuad)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad extends Control implements Actionable, BgColorable, Linkable, Scriptable, Styleable, SubStyleable {
/*
* Constants
*/
const KEEP_RATIO_INACTIVE = 'inactive';
const KEEP_RATIO_CLIP = 'Clip';
const KEEP_RATIO_FIT = 'Fit';
/*
* Protected properties
*/
protected $tagName = 'quad';
protected $image = null;
protected $imageId = null;
protected $imageFocus = null;
protected $imageFocusId = null;
protected $colorize = null;
protected $modulizeColor = null;
protected $autoScale = 1;
protected $keepRatio = null;
protected $action = null;
protected $actionKey = -1;
protected $bgColor = null;
protected $url = null;
protected $urlId = null;
protected $manialink = null;
protected $manialinkId = null;
protected $scriptEvents = null;
protected $style = null;
protected $subStyle = null;
protected $styleSelected = null;
protected $opacity = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlQuad';
}
/**
* Set image url
*
* @param string $image Image url
* @return static
*/
public function setImage($image) {
$this->image = (string)$image;
return $this;
}
/**
* Set image id to use from Dico
*
* @param string $imageId Image id
* @return static
*/
public function setImageId($imageId) {
$this->imageId = (string)$imageId;
return $this;
}
/**
* Set focus image url
*
* @param string $imageFocus Focus image url
* @return static
*/
public function setImageFocus($imageFocus) {
$this->imageFocus = (string)$imageFocus;
return $this;
}
/**
* Set focus image id to use from Dico
*
* @param string $imageFocusId Focus image id
* @return static
*/
public function setImageFocusId($imageFocusId) {
$this->imageFocusId = (string)$imageFocusId;
return $this;
}
/**
* Set colorization
*
* @param string $colorize Colorize value
* @return static
*/
public function setColorize($colorize) {
$this->colorize = (string)$colorize;
return $this;
}
/**
* Set modulization
*
* @param string $modulizeColor Modulize value
* @return static
*/
public function setModulizeColor($modulizeColor) {
$this->modulizeColor = (string)$modulizeColor;
return $this;
}
/**
* Disable the automatic image scaling
*
* @param bool $autoScale Whether the image should scale automatically
* @return static
*/
public function setAutoScale($autoScale) {
$this->autoScale = ($autoScale ? 1 : 0);
return $this;
}
/**
* Set Keep Ratio Mode
*
* @param string $keepRatio Keep Ratio Mode
* @return static
*/
public function setKeepRatio($keepRatio) {
$this->keepRatio = (string)$keepRatio;
return $this;
}
/**
* @see \FML\Types\Actionable::getAction()
*/
public function getAction() {
return $this->action;
}
/**
* @see \FML\Types\Actionable::setAction()
*/
public function setAction($action) {
$this->action = (string)$action;
return $this;
}
/**
* @see \FML\Types\Actionable::setActionKey()
*/
public function setActionKey($actionKey) {
$this->actionKey = (int)$actionKey;
return $this;
}
/**
* @see \FML\Types\BgColorable::setBgColor()
*/
public function setBgColor($bgColor) {
$this->bgColor = (string)$bgColor;
return $this;
}
/**
* @see \FML\Types\Linkable::setUrl()
*/
public function setUrl($url) {
$this->url = (string)$url;
return $this;
}
/**
* @see \FML\Types\Linkable::setUrlId()
*/
public function setUrlId($urlId) {
$this->urlId = (string)$urlId;
return $this;
}
/**
* @see \FML\Types\Linkable::setManialink()
*/
public function setManialink($manialink) {
$this->manialink = (string)$manialink;
return $this;
}
/**
* @see \FML\Types\Linkable::setManialinkId()
*/
public function setManialinkId($manialinkId) {
$this->manialinkId = (string)$manialinkId;
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\SubStyleable::setStyles()
*/
public function setStyles($style, $subStyle) {
$this->setStyle($style);
$this->setSubStyle($subStyle);
return $this;
}
/**
* @see \FML\Types\Styleable::setStyle()
*/
public function setStyle($style) {
$this->style = (string)$style;
return $this;
}
/**
* @see \FML\Types\SubStyleable::setSubStyle()
*/
public function setSubStyle($subStyle) {
$this->subStyle = (string)$subStyle;
return $this;
}
/**
* Set selected mode
*
* @param bool $styleSelected
* @return static
*/
public function setStyleSelected($styleSelected) {
$this->styleSelected = ($styleSelected ? 1 : 0);
return $this;
}
/**
* Set opacity
*
* @param float $opacity
* @return static
*/
public function setOpacity($opacity) {
$this->opacity = (float)$opacity;
return $this;
}
/**
* Apply the given CheckBox Design
*
* @param CheckBoxDesign $checkBoxDesign CheckBox Design
* @return static
*/
public function applyCheckBoxDesign(CheckBoxDesign $checkBoxDesign) {
$checkBoxDesign->applyToQuad($this);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->image) {
$xmlElement->setAttribute('image', $this->image);
}
if ($this->imageId) {
$xmlElement->setAttribute('imageid', $this->imageId);
}
if ($this->imageFocus) {
$xmlElement->setAttribute('imagefocus', $this->imageFocus);
}
if ($this->imageFocusId) {
$xmlElement->setAttribute('imagefocusid', $this->imageFocusId);
}
if ($this->colorize) {
$xmlElement->setAttribute('colorize', $this->colorize);
}
if ($this->modulizeColor) {
$xmlElement->setAttribute('modulizecolor', $this->modulizeColor);
}
if (!$this->autoScale) {
$xmlElement->setAttribute('autoscale', $this->autoScale);
}
if ($this->keepRatio) {
$xmlElement->setAttribute('keepratio', $this->keepRatio);
}
if (strlen($this->action) > 0) {
$xmlElement->setAttribute('action', $this->action);
}
if ($this->actionKey >= 0) {
$xmlElement->setAttribute('actionkey', $this->actionKey);
}
if ($this->bgColor) {
$xmlElement->setAttribute('bgcolor', $this->bgColor);
}
if ($this->url) {
$xmlElement->setAttribute('url', $this->url);
}
if ($this->manialink) {
$xmlElement->setAttribute('manialink', $this->manialink);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
if ($this->style) {
$xmlElement->setAttribute('style', $this->style);
}
if ($this->subStyle) {
$xmlElement->setAttribute('substyle', $this->subStyle);
}
if ($this->styleSelected) {
$xmlElement->setAttribute('styleselected', $this->styleSelected);
}
if ($this->opacity !== 1.) {
$xmlElement->setAttribute('opacity', $this->opacity);
}
return $xmlElement;
}
}

View File

@ -0,0 +1,28 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for '321Go' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_321Go extends Quad {
/*
* Constants
*/
const STYLE = '321Go';
const SUBSTYLE_3 = '3';
const SUBSTYLE_2 = '2';
const SUBSTYLE_1 = '1';
const SUBSTYLE_Go = 'Go!';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,51 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'BgRaceScore2' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_BgRaceScore2 extends Quad {
/*
* Constants
*/
const STYLE = 'BgRaceScore2';
const SUBSTYLE_BgCardPlayer = 'BgCardPlayer';
const SUBSTYLE_BgCardServer = 'BgCardServer';
const SUBSTYLE_BgScores = 'BgScores';
const SUBSTYLE_Cartouche = 'Cartouche';
const SUBSTYLE_CartoucheLine = 'CartoucheLine';
const SUBSTYLE_CupFinisher = 'CupFinisher';
const SUBSTYLE_CupPotentialFinisher = 'CupPotentialFinisher';
const SUBSTYLE_Fame = 'Fame';
const SUBSTYLE_Handle = 'Handle';
const SUBSTYLE_HandleBlue = 'HandleBlue';
const SUBSTYLE_HandleRed = 'HandleRed';
const SUBSTYLE_HandleSelectable = 'HandleSelectable';
const SUBSTYLE_IsLadderDisabled = 'IsLadderDisabled';
const SUBSTYLE_IsLocalPlayer = 'IsLocalPlayer';
const SUBSTYLE_LadderPoints = 'LadderPoints';
const SUBSTYLE_LadderRank = 'LadderRank';
const SUBSTYLE_Laps = 'Laps';
const SUBSTYLE_Podium = 'Podium';
const SUBSTYLE_Points = 'Points';
const SUBSTYLE_SandTimer = 'SandTimer';
const SUBSTYLE_ScoreLink = 'ScoreLink';
const SUBSTYLE_ScoreReplay = 'ScoreReplay';
const SUBSTYLE_SendScore = 'SendScore';
const SUBSTYLE_Speaking = 'Speaking';
const SUBSTYLE_Spectator = 'Spectator';
const SUBSTYLE_Tv = 'Tv';
const SUBSTYLE_Warmup = 'Warmup';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,93 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Bgs1' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Bgs1 extends Quad {
/*
* Constants
*/
const STYLE = 'Bgs1';
const SUBSTYLE_ArrowDown = 'ArrowDown';
const SUBSTYLE_ArrowLeft = 'ArrowLeft';
const SUBSTYLE_ArrowRight = 'ArrowRight';
const SUBSTYLE_ArrowUp = 'ArrowUp';
const SUBSTYLE_BgButton = 'BgButton';
const SUBSTYLE_BgButtonBig = 'BgButtonBig';
const SUBSTYLE_BgButtonGlow = 'BgButtonGlow';
const SUBSTYLE_BgButtonGrayed = 'BgButtonGrayed';
const SUBSTYLE_BgButtonOff = 'BgButtonOff';
const SUBSTYLE_BgButtonShadow = 'BgButtonShadow';
const SUBSTYLE_BgButtonSmall = 'BgButtonSmall';
const SUBSTYLE_BgCard = 'BgCard';
const SUBSTYLE_BgCard1 = 'BgCard1';
const SUBSTYLE_BgCard2 = 'BgCard2';
const SUBSTYLE_BgCard3 = 'BgCard3';
const SUBSTYLE_BgCardBuddy = 'BgCardBuddy';
const SUBSTYLE_BgCardChallenge = 'BgCardChallenge';
const SUBSTYLE_BgCardFolder = 'BgCardFolder';
const SUBSTYLE_BgCardInventoryItem = 'BgCardInventoryItem';
const SUBSTYLE_BgCardList = 'BgCardList';
const SUBSTYLE_BgCardOnline = 'BgCardOnline';
const SUBSTYLE_BgCardPlayer = 'BgCardPlayer';
const SUBSTYLE_BgCardProperty = 'BgCardProperty';
const SUBSTYLE_BgCardSystem = 'BgCardSystem';
const SUBSTYLE_BgCardZone = 'BgCardZone';
const SUBSTYLE_BgColorContour = 'BgColorContour';
const SUBSTYLE_BgDialogBlur = 'BgDialogBlur';
const SUBSTYLE_BgEmpty = 'BgEmpty';
const SUBSTYLE_BgGlow2 = 'BgGlow2';
const SUBSTYLE_BgGradBottom = 'BgGradBottom';
const SUBSTYLE_BgGradLeft = 'BgGradLeft';
const SUBSTYLE_BgGradRight = 'BgGradRight';
const SUBSTYLE_BgGradTop = 'BgGradTop';
const SUBSTYLE_BgGradV = 'BgGradV';
const SUBSTYLE_BgHealthBar = 'BgHealthBar';
const SUBSTYLE_BgIconBorder = 'BgIconBorder';
const SUBSTYLE_BgList = 'BgList';
const SUBSTYLE_BgListLine = 'BgListLine';
const SUBSTYLE_BgMetalBar = 'BgMetalBar';
const SUBSTYLE_BgPager = 'BgPager';
const SUBSTYLE_BgProgressBar = 'BgProgressBar';
const SUBSTYLE_BgShadow = 'BgShadow';
const SUBSTYLE_BgSlider = 'BgSlider';
const SUBSTYLE_BgSystemBar = 'BgSystemBar';
const SUBSTYLE_BgTitle = 'BgTitle';
const SUBSTYLE_BgTitle2 = 'BgTitle2';
const SUBSTYLE_BgTitle3 = 'BgTitle3';
const SUBSTYLE_BgTitle3_1 = 'BgTitle3_1';
const SUBSTYLE_BgTitle3_2 = 'BgTitle3_2';
const SUBSTYLE_BgTitle3_3 = 'BgTitle3_3';
const SUBSTYLE_BgTitle3_4 = 'BgTitle3_4';
const SUBSTYLE_BgTitle3_5 = 'BgTitle3_5';
const SUBSTYLE_BgTitleGlow = 'BgTitleGlow';
const SUBSTYLE_BgTitlePage = 'BgTitlePage';
const SUBSTYLE_BgTitleShadow = 'BgTitleShadow';
const SUBSTYLE_BgWindow1 = 'BgWindow1';
const SUBSTYLE_BgWindow2 = 'BgWindow2';
const SUBSTYLE_BgWindow3 = 'BgWindow3';
const SUBSTYLE_BgWindow4 = 'BgWindow4';
const SUBSTYLE_EnergyBar = 'EnergyBar';
const SUBSTYLE_EnergyTeam2 = 'EnergyTeam2';
const SUBSTYLE_Glow = 'Glow';
const SUBSTYLE_HealthBar = 'HealthBar';
const SUBSTYLE_NavButton = 'NavButton';
const SUBSTYLE_NavButtonBlink = 'NavButtonBlink';
const SUBSTYLE_NavButtonQuit = 'NavButtonQuit';
const SUBSTYLE_ProgressBar = 'ProgressBar';
const SUBSTYLE_ProgressBarSmall = 'ProgressBarSmall';
const SUBSTYLE_Shadow = 'Shadow';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,93 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Bgs1InRace' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Bgs1InRace extends Quad {
/*
* Constants
*/
const STYLE = 'Bgs1InRace';
const SUBSTYLE_ArrowDown = 'ArrowDown';
const SUBSTYLE_ArrowLeft = 'ArrowLeft';
const SUBSTYLE_ArrowRight = 'ArrowRight';
const SUBSTYLE_ArrowUp = 'ArrowUp';
const SUBSTYLE_BgButton = 'BgButton';
const SUBSTYLE_BgButtonBig = 'BgButtonBig';
const SUBSTYLE_BgButtonGlow = 'BgButtonGlow';
const SUBSTYLE_BgButtonGrayed = 'BgButtonGrayed';
const SUBSTYLE_BgButtonOff = 'BgButtonOff';
const SUBSTYLE_BgButtonShadow = 'BgButtonShadow';
const SUBSTYLE_BgButtonSmall = 'BgButtonSmall';
const SUBSTYLE_BgCard = 'BgCard';
const SUBSTYLE_BgCard1 = 'BgCard1';
const SUBSTYLE_BgCard2 = 'BgCard2';
const SUBSTYLE_BgCard3 = 'BgCard3';
const SUBSTYLE_BgCardBuddy = 'BgCardBuddy';
const SUBSTYLE_BgCardChallenge = 'BgCardChallenge';
const SUBSTYLE_BgCardFolder = 'BgCardFolder';
const SUBSTYLE_BgCardInventoryItem = 'BgCardInventoryItem';
const SUBSTYLE_BgCardList = 'BgCardList';
const SUBSTYLE_BgCardOnline = 'BgCardOnline';
const SUBSTYLE_BgCardPlayer = 'BgCardPlayer';
const SUBSTYLE_BgCardProperty = 'BgCardProperty';
const SUBSTYLE_BgCardSystem = 'BgCardSystem';
const SUBSTYLE_BgCardZone = 'BgCardZone';
const SUBSTYLE_BgColorContour = 'BgColorContour';
const SUBSTYLE_BgDialogBlur = 'BgDialogBlur';
const SUBSTYLE_BgEmpty = 'BgEmpty';
const SUBSTYLE_BgGlow2 = 'BgGlow2';
const SUBSTYLE_BgGradBottom = 'BgGradBottom';
const SUBSTYLE_BgGradLeft = 'BgGradLeft';
const SUBSTYLE_BgGradRight = 'BgGradRight';
const SUBSTYLE_BgGradTop = 'BgGradTop';
const SUBSTYLE_BgGradV = 'BgGradV';
const SUBSTYLE_BgHealthBar = 'BgHealthBar';
const SUBSTYLE_BgIconBorder = 'BgIconBorder';
const SUBSTYLE_BgList = 'BgList';
const SUBSTYLE_BgListLine = 'BgListLine';
const SUBSTYLE_BgMetalBar = 'BgMetalBar';
const SUBSTYLE_BgPager = 'BgPager';
const SUBSTYLE_BgProgressBar = 'BgProgressBar';
const SUBSTYLE_BgShadow = 'BgShadow';
const SUBSTYLE_BgSlider = 'BgSlider';
const SUBSTYLE_BgSystemBar = 'BgSystemBar';
const SUBSTYLE_BgTitle = 'BgTitle';
const SUBSTYLE_BgTitle2 = 'BgTitle2';
const SUBSTYLE_BgTitle3 = 'BgTitle3';
const SUBSTYLE_BgTitle3_1 = 'BgTitle3_1';
const SUBSTYLE_BgTitle3_2 = 'BgTitle3_2';
const SUBSTYLE_BgTitle3_3 = 'BgTitle3_3';
const SUBSTYLE_BgTitle3_4 = 'BgTitle3_4';
const SUBSTYLE_BgTitle3_5 = 'BgTitle3_5';
const SUBSTYLE_BgTitleGlow = 'BgTitleGlow';
const SUBSTYLE_BgTitlePage = 'BgTitlePage';
const SUBSTYLE_BgTitleShadow = 'BgTitleShadow';
const SUBSTYLE_BgWindow1 = 'BgWindow1';
const SUBSTYLE_BgWindow2 = 'BgWindow2';
const SUBSTYLE_BgWindow3 = 'BgWindow3';
const SUBSTYLE_BgWindow4 = 'BgWindow4';
const SUBSTYLE_EnergyBar = 'EnergyBar';
const SUBSTYLE_EnergyTeam2 = 'EnergyTeam2';
const SUBSTYLE_Glow = 'Glow';
const SUBSTYLE_HealthBar = 'HealthBar';
const SUBSTYLE_NavButton = 'NavButton';
const SUBSTYLE_NavButtonBlink = 'NavButtonBlink';
const SUBSTYLE_NavButtonQuit = 'NavButtonQuit';
const SUBSTYLE_ProgressBar = 'ProgressBar';
const SUBSTYLE_ProgressBarSmall = 'ProgressBarSmall';
const SUBSTYLE_Shadow = 'Shadow';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,31 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'BgsButtons' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_BgsButtons extends Quad {
/*
* Constants
*/
const STYLE = 'BgsButtons';
const SUBSTYLE_BgButtonLarge = 'BgButtonLarge';
const SUBSTYLE_BgButtonMedium = 'BgButtonMedium';
const SUBSTYLE_BgButtonMediumSelector = 'BgButtonMediumSelector';
const SUBSTYLE_BgButtonMediumSpecial = 'BgButtonMediumSpecial';
const SUBSTYLE_BgButtonSmall = 'BgButtonSmall';
const SUBSTYLE_BgButtonSmall2 = 'BgButtonSmall2';
const SUBSTYLE_BgButtonXSmall = 'BgButtonXSmall';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,30 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'BgsChallengeMedals' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_BgsChallengeMedals extends Quad {
/*
* Constants
*/
const STYLE = 'BgsChallengeMedals';
const SUBSTYLE_BgBronze = 'BgBronze';
const SUBSTYLE_BgGold = 'BgGold';
const SUBSTYLE_BgNadeo = 'BgNadeo';
const SUBSTYLE_BgNotPlayed = 'BgNotPlayed';
const SUBSTYLE_BgPlayed = 'BgPlayed';
const SUBSTYLE_BgSilver = 'BgSilver';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,38 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'BgsPlayerCard' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_BgsPlayerCard extends Quad {
/*
* Constants
*/
const STYLE = 'BgsPlayerCard';
const SUBSTYLE_BgActivePlayerCard = 'BgActivePlayerCard';
const SUBSTYLE_BgActivePlayerName = 'BgActivePlayerName';
const SUBSTYLE_BgActivePlayerScore = 'BgActivePlayerScore';
const SUBSTYLE_BgCard = 'BgCard';
const SUBSTYLE_BgCardSystem = 'BgCardSystem';
const SUBSTYLE_BgMediaTracker = 'BgMediaTracker';
const SUBSTYLE_BgPlayerCard = 'BgPlayerCard';
const SUBSTYLE_BgPlayerCardBig = 'BgPlayerCardBig';
const SUBSTYLE_BgPlayerCardSmall = 'BgPlayerCardSmall';
const SUBSTYLE_BgPlayerName = 'BgPlayerName';
const SUBSTYLE_BgPlayerScore = 'BgPlayerScore';
const SUBSTYLE_BgRacePlayerLine = 'BgRacePlayerLine';
const SUBSTYLE_BgRacePlayerName = 'BgRacePlayerName';
const SUBSTYLE_ProgressBar = 'ProgressBar';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,36 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Copilot' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Copilot extends Quad {
/*
* Constants
*/
const STYLE = 'Copilot';
const SUBSTYLE_Down = 'Down';
const SUBSTYLE_DownGood = 'DownGood';
const SUBSTYLE_DownWrong = 'DownWrong';
const SUBSTYLE_Left = 'Left';
const SUBSTYLE_LeftGood = 'LeftGood';
const SUBSTYLE_LeftWrong = 'LeftWrong';
const SUBSTYLE_Right = 'Right';
const SUBSTYLE_RightGood = 'RightGood';
const SUBSTYLE_RightWrong = 'RightWrong';
const SUBSTYLE_Up = 'Up';
const SUBSTYLE_UpGood = 'UpGood';
const SUBSTYLE_UpWrong = 'UpWrong';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,27 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Emblems' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Emblems extends Quad {
/*
* Constants
*/
const STYLE = 'Emblems';
const SUBSTYLE_0 = '#0';
const SUBSTYLE_1 = '#1';
const SUBSTYLE_2 = '#2';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,30 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'EnergyBar' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_EnergyBar extends Quad {
/*
* Constants
*/
const STYLE = 'EnergyBar';
const SUBSTYLE_BgText = 'BgText';
const SUBSTYLE_EnergyBar = 'EnergyBar';
const SUBSTYLE_EnergyBar_0_25 = 'EnergyBar_0.25';
const SUBSTYLE_EnergyBar_Thin = 'EnergyBar_Thin';
const SUBSTYLE_HeaderGaugeLeft = 'HeaderGaugeLeft';
const SUBSTYLE_HeaderGaugeRight = 'HeaderGaugeRight';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,33 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Hud3dEchelons' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Hud3dEchelons extends Quad {
/*
* Constants
*/
const STYLE = 'Hud3dEchelons';
const SUBSTYLE_EchelonBronze1 = 'EchelonBronze1';
const SUBSTYLE_EchelonBronze2 = 'EchelonBronze2';
const SUBSTYLE_EchelonBronze3 = 'EchelonBronze3';
const SUBSTYLE_EchelonGold1 = 'EchelonGold1';
const SUBSTYLE_EchelonGold2 = 'EchelonGold2';
const SUBSTYLE_EchelonGold3 = 'EchelonGold3';
const SUBSTYLE_EchelonSilver1 = 'EchelonSilver1';
const SUBSTYLE_EchelonSilver2 = 'EchelonSilver2';
const SUBSTYLE_EchelonSilver3 = 'EchelonSilver3';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,32 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Hud3dIcons' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Hud3dIcons extends Quad {
/*
* Constants
*/
const STYLE = 'Hud3dIcons';
const SUBSTYLE_Cross = 'Cross';
const SUBSTYLE_CrossTargeted = 'CrossTargeted';
const SUBSTYLE_Player1 = 'Player1';
const SUBSTYLE_Player2 = 'Player2';
const SUBSTYLE_Player3 = 'Player3';
const SUBSTYLE_PointA = 'PointA';
const SUBSTYLE_PointB = 'PointB';
const SUBSTYLE_PointC = 'PointC';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,88 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Icons128x128_1' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Icons128x128_1 extends Quad {
/*
* Constants
*/
const STYLE = 'Icons128x128_1';
const SUBSTYLE_Advanced = 'Advanced';
const SUBSTYLE_Back = 'Back';
const SUBSTYLE_BackFocusable = 'BackFocusable';
const SUBSTYLE_Beginner = 'Beginner';
const SUBSTYLE_Browse = 'Browse';
const SUBSTYLE_Buddies = 'Buddies';
const SUBSTYLE_Challenge = 'Challenge';
const SUBSTYLE_ChallengeAuthor = 'ChallengeAuthor';
const SUBSTYLE_Coppers = 'Coppers';
const SUBSTYLE_Create = 'Create';
const SUBSTYLE_Credits = 'Credits';
const SUBSTYLE_Custom = 'Custom';
const SUBSTYLE_CustomStars = 'CustomStars';
const SUBSTYLE_Default = 'Default';
const SUBSTYLE_Download = 'Download';
const SUBSTYLE_Easy = 'Easy';
const SUBSTYLE_Editor = 'Editor';
const SUBSTYLE_Event = 'Event';
const SUBSTYLE_Extreme = 'Extreme';
const SUBSTYLE_Forever = 'Forever';
const SUBSTYLE_GhostEditor = 'GhostEditor';
const SUBSTYLE_Hard = 'Hard';
const SUBSTYLE_Hotseat = 'Hotseat';
const SUBSTYLE_Inputs = 'Inputs';
const SUBSTYLE_Invite = 'Invite';
const SUBSTYLE_LadderPoints = 'LadderPoints';
const SUBSTYLE_Lan = 'Lan';
const SUBSTYLE_Launch = 'Launch';
const SUBSTYLE_Load = 'Load';
const SUBSTYLE_LoadTrack = 'LoadTrack';
const SUBSTYLE_Manialink = 'Manialink';
const SUBSTYLE_ManiaZones = 'ManiaZones';
const SUBSTYLE_MedalCount = 'MedalCount';
const SUBSTYLE_MediaTracker = 'MediaTracker';
const SUBSTYLE_Medium = 'Medium';
const SUBSTYLE_Multiplayer = 'Multiplayer';
const SUBSTYLE_Nations = 'Nations';
const SUBSTYLE_NewTrack = 'NewTrack';
const SUBSTYLE_Options = 'Options';
const SUBSTYLE_Padlock = 'Padlock';
const SUBSTYLE_Paint = 'Paint';
const SUBSTYLE_Platform = 'Platform';
const SUBSTYLE_PlayerPage = 'PlayerPage';
const SUBSTYLE_Profile = 'Profile';
const SUBSTYLE_ProfileAdvanced = 'ProfileAdvanced';
const SUBSTYLE_ProfileVehicle = 'ProfileVehicle';
const SUBSTYLE_Puzzle = 'Puzzle';
const SUBSTYLE_Quit = 'Quit';
const SUBSTYLE_Race = 'Race';
const SUBSTYLE_Rankings = 'Rankings';
const SUBSTYLE_Replay = 'Replay';
const SUBSTYLE_Save = 'Save';
const SUBSTYLE_ServersAll = 'ServersAll';
const SUBSTYLE_ServersFavorites = 'ServersFavorites';
const SUBSTYLE_ServersSuggested = 'ServersSuggested';
const SUBSTYLE_Share = 'Share';
const SUBSTYLE_ShareBlink = 'ShareBlink';
const SUBSTYLE_SkillPoints = 'SkillPoints';
const SUBSTYLE_Solo = 'Solo';
const SUBSTYLE_Statistics = 'Statistics';
const SUBSTYLE_Stunts = 'Stunts';
const SUBSTYLE_United = 'United';
const SUBSTYLE_Upload = 'Upload';
const SUBSTYLE_Vehicles = 'Vehicles';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,88 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Icons128x128_Blink' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Icons128x128_Blink extends Quad {
/*
* Constants
*/
const STYLE = 'Icons128x128_Blink';
const SUBSTYLE_Advanced = 'Advanced';
const SUBSTYLE_Back = 'Back';
const SUBSTYLE_BackFocusable = 'BackFocusable';
const SUBSTYLE_Beginner = 'Beginner';
const SUBSTYLE_Browse = 'Browse';
const SUBSTYLE_Buddies = 'Buddies';
const SUBSTYLE_Challenge = 'Challenge';
const SUBSTYLE_ChallengeAuthor = 'ChallengeAuthor';
const SUBSTYLE_Coppers = 'Coppers';
const SUBSTYLE_Create = 'Create';
const SUBSTYLE_Credits = 'Credits';
const SUBSTYLE_Custom = 'Custom';
const SUBSTYLE_CustomStars = 'CustomStars';
const SUBSTYLE_Default = 'Default';
const SUBSTYLE_Download = 'Download';
const SUBSTYLE_Easy = 'Easy';
const SUBSTYLE_Editor = 'Editor';
const SUBSTYLE_Event = 'Event';
const SUBSTYLE_Extreme = 'Extreme';
const SUBSTYLE_Forever = 'Forever';
const SUBSTYLE_GhostEditor = 'GhostEditor';
const SUBSTYLE_Hard = 'Hard';
const SUBSTYLE_Hotseat = 'Hotseat';
const SUBSTYLE_Inputs = 'Inputs';
const SUBSTYLE_Invite = 'Invite';
const SUBSTYLE_LadderPoints = 'LadderPoints';
const SUBSTYLE_Lan = 'Lan';
const SUBSTYLE_Launch = 'Launch';
const SUBSTYLE_Load = 'Load';
const SUBSTYLE_LoadTrack = 'LoadTrack';
const SUBSTYLE_Manialink = 'Manialink';
const SUBSTYLE_ManiaZones = 'ManiaZones';
const SUBSTYLE_MedalCount = 'MedalCount';
const SUBSTYLE_MediaTracker = 'MediaTracker';
const SUBSTYLE_Medium = 'Medium';
const SUBSTYLE_Multiplayer = 'Multiplayer';
const SUBSTYLE_Nations = 'Nations';
const SUBSTYLE_NewTrack = 'NewTrack';
const SUBSTYLE_Options = 'Options';
const SUBSTYLE_Padlock = 'Padlock';
const SUBSTYLE_Paint = 'Paint';
const SUBSTYLE_Platform = 'Platform';
const SUBSTYLE_PlayerPage = 'PlayerPage';
const SUBSTYLE_Profile = 'Profile';
const SUBSTYLE_ProfileAdvanced = 'ProfileAdvanced';
const SUBSTYLE_ProfileVehicle = 'ProfileVehicle';
const SUBSTYLE_Puzzle = 'Puzzle';
const SUBSTYLE_Quit = 'Quit';
const SUBSTYLE_Race = 'Race';
const SUBSTYLE_Rankings = 'Rankings';
const SUBSTYLE_Replay = 'Replay';
const SUBSTYLE_Save = 'Save';
const SUBSTYLE_ServersAll = 'ServersAll';
const SUBSTYLE_ServersFavorites = 'ServersFavorites';
const SUBSTYLE_ServersSuggested = 'ServersSuggested';
const SUBSTYLE_Share = 'Share';
const SUBSTYLE_ShareBlink = 'ShareBlink';
const SUBSTYLE_SkillPoints = 'SkillPoints';
const SUBSTYLE_Solo = 'Solo';
const SUBSTYLE_Statistics = 'Statistics';
const SUBSTYLE_Stunts = 'Stunts';
const SUBSTYLE_United = 'United';
const SUBSTYLE_Upload = 'Upload';
const SUBSTYLE_Vehicles = 'Vehicles';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,54 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Icons128x32_1' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Icons128x32_1 extends Quad {
/*
* Constants
*/
const STYLE = 'Icons128x32_1';
const SUBSTYLE_ArrowUp = 'ArrowUp';
const SUBSTYLE_BgQuadWhite = 'BgQuadWhite';
// TODO: validate existence of 'close'
const SUBSTYLE_Close = 'Close';
const SUBSTYLE_Empty = 'Empty';
const SUBSTYLE_ManiaLinkHome = 'ManiaLinkHome';
const SUBSTYLE_ManiaLinkSwitch = 'ManiaLinkSwitch';
const SUBSTYLE_ManiaPlanet = 'ManiaPlanet';
const SUBSTYLE_Minimize = 'Minimize';
const SUBSTYLE_Music = 'Music';
const SUBSTYLE_PainterBrush = 'PainterBrush';
const SUBSTYLE_PainterFill = 'PainterFill';
const SUBSTYLE_PainterLayer = 'PainterLayer';
const SUBSTYLE_PainterMirror = 'PainterMirror';
const SUBSTYLE_PainterSticker = 'PainterSticker';
const SUBSTYLE_PainterTeam = 'PainterTeam';
const SUBSTYLE_RT_Cup = 'RT_Cup';
const SUBSTYLE_RT_Laps = 'RT_Laps';
const SUBSTYLE_RT_Rounds = 'RT_Rounds';
const SUBSTYLE_RT_Script = 'RT_Script';
const SUBSTYLE_RT_Team = 'RT_Team';
const SUBSTYLE_RT_TimeAttack = 'RT_TimeAttack';
const SUBSTYLE_RT_Stunts = 'RT_Stunts';
const SUBSTYLE_Settings = 'Settings';
const SUBSTYLE_SliderBar = 'SliderBar';
const SUBSTYLE_SliderBar2 = 'SliderBar2';
const SUBSTYLE_SliderCursor = 'SliderCursor';
const SUBSTYLE_Sound = 'Sound';
const SUBSTYLE_UrlBg = 'UrlBg';
const SUBSTYLE_Windowed = 'Windowed';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,110 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Icons64x64_1' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Icons64x64_1 extends Quad {
/*
* Constants
*/
const STYLE = 'Icons64x64_1';
const SUBSTYLE_3DStereo = '3DStereo';
const SUBSTYLE_Add = 'Add';
const SUBSTYLE_ArrowBlue = 'ArrowBlue';
const SUBSTYLE_ArrowDisabled = 'ArrowDisabled';
const SUBSTYLE_ArrowDown = 'ArrowDown';
const SUBSTYLE_ArrowFastNext = 'ArrowFastNext';
const SUBSTYLE_ArrowFastPrev = 'ArrowFastPrev';
const SUBSTYLE_ArrowFirst = 'ArrowFirst';
const SUBSTYLE_ArrowGreen = 'ArrowGreen';
const SUBSTYLE_ArrowLast = 'ArrowLast';
const SUBSTYLE_ArrowNext = 'ArrowNext';
const SUBSTYLE_ArrowPrev = 'ArrowPrev';
const SUBSTYLE_ArrowRed = 'ArrowRed';
const SUBSTYLE_ArrowUp = 'ArrowUp';
const SUBSTYLE_Browser = 'Browser';
const SUBSTYLE_Buddy = 'Buddy';
const SUBSTYLE_ButtonLeagues = 'ButtonLeagues';
const SUBSTYLE_Camera = 'Camera';
const SUBSTYLE_CameraLocal = 'CameraLocal';
const SUBSTYLE_Check = 'Check';
const SUBSTYLE_ClipPause = 'ClipPause';
const SUBSTYLE_ClipPlay = 'ClipPlay';
const SUBSTYLE_ClipRewind = 'ClipRewind';
const SUBSTYLE_Close = 'Close';
const SUBSTYLE_Empty = 'Empty';
const SUBSTYLE_Finish = 'Finish';
const SUBSTYLE_FinishGrey = 'FinishGrey';
const SUBSTYLE_First = 'First';
const SUBSTYLE_GenericButton = 'GenericButton';
const SUBSTYLE_Green = 'Green';
const SUBSTYLE_IconLeaguesLadder = 'IconLeaguesLadder';
const SUBSTYLE_IconPlayers = 'IconPlayers';
const SUBSTYLE_IconPlayersLadder = 'IconPlayersLadder';
const SUBSTYLE_IconServers = 'IconServers';
const SUBSTYLE_Inbox = 'Inbox';
const SUBSTYLE_LvlGreen = 'LvlGreen';
const SUBSTYLE_LvlRed = 'LvlRed';
const SUBSTYLE_LvlYellow = 'LvlYellow';
const SUBSTYLE_ManiaLinkNext = 'ManiaLinkNext';
const SUBSTYLE_ManiaLinkPrev = 'ManiaLinkPrev';
const SUBSTYLE_Maximize = 'Maximize';
const SUBSTYLE_MediaAudioDownloading = 'MediaAudioDownloading';
const SUBSTYLE_MediaPlay = 'MediaPlay';
const SUBSTYLE_MediaStop = 'MediaStop';
const SUBSTYLE_MediaVideoDownloading = 'MediaVideoDownloading';
const SUBSTYLE_NewMessage = 'NewMessage';
const SUBSTYLE_NotBuddy = 'NotBuddy';
const SUBSTYLE_OfficialRace = 'OfficialRace';
const SUBSTYLE_Opponents = 'Opponents';
const SUBSTYLE_Outbox = 'Outbox';
const SUBSTYLE_QuitRace = 'QuitRace';
const SUBSTYLE_RedHigh = 'RedHigh';
const SUBSTYLE_RedLow = 'RedLow';
const SUBSTYLE_Refresh = 'Refresh';
const SUBSTYLE_RestartRace = 'RestartRace';
const SUBSTYLE_Save = 'Save';
const SUBSTYLE_Second = 'Second';
const SUBSTYLE_ShowDown = 'ShowDown';
const SUBSTYLE_ShowDown2 = 'ShowDown2';
const SUBSTYLE_ShowLeft = 'ShowLeft';
const SUBSTYLE_ShowLeft2 = 'ShowLeft2';
const SUBSTYLE_ShowRight = 'ShowRight';
const SUBSTYLE_ShowRight2 = 'ShowRight2';
const SUBSTYLE_ShowUp = 'ShowUp';
const SUBSTYLE_ShowUp2 = 'ShowUp2';
const SUBSTYLE_ShowUpChanging = 'ShowUpChanging';
const SUBSTYLE_SliderCursor = 'SliderCursor';
const SUBSTYLE_SliderCursor2 = 'SliderCursor2';
const SUBSTYLE_StateFavourite = 'StateFavourite';
const SUBSTYLE_StatePrivate = 'StatePrivate';
const SUBSTYLE_StateSuggested = 'StateSuggested';
const SUBSTYLE_Sub = 'Sub';
const SUBSTYLE_TagTypeBronze = 'TagTypeBronze';
const SUBSTYLE_TagTypeGold = 'TagTypeGold';
const SUBSTYLE_TagTypeNadeo = 'TagTypeNadeo';
const SUBSTYLE_TagTypeNone = 'TagTypeNone';
const SUBSTYLE_TagTypeSilver = 'TagTypeSilver';
const SUBSTYLE_Third = 'Third';
const SUBSTYLE_ToolLeague1 = 'ToolLeague1';
const SUBSTYLE_ToolRoot = 'ToolRoot';
const SUBSTYLE_ToolTree = 'ToolTree';
const SUBSTYLE_ToolUp = 'ToolUp';
const SUBSTYLE_TrackInfo = 'TrackInfo';
const SUBSTYLE_TV = 'TV';
const SUBSTYLE_YellowHigh = 'YellowHigh';
const SUBSTYLE_YellowLow = 'YellowLow';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,39 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'Icons64x64_2' styles
*
* @author steeffeen
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_Icons64x64_2 extends Quad {
/*
* Constants
*/
const STYLE = 'Icons64x64_2';
const SUBSTYLE_ArrowElimination = 'ArrowElimination';
const SUBSTYLE_ArrowHit = 'ArrowHit';
const SUBSTYLE_Calendar = 'Calendar';
const SUBSTYLE_Disconnected = 'Disconnected';
const SUBSTYLE_DisconnectedLight = 'DisconnectedLight';
const SUBSTYLE_LaserElimination = 'LaserElimination';
const SUBSTYLE_LaserHit = 'LaserHit';
const SUBSTYLE_NucleusElimination = 'NucleusElimination';
const SUBSTYLE_NucleusHit = 'NucleusHit';
const SUBSTYLE_RocketElimination = 'RocketElimination';
const SUBSTYLE_RocketHit = 'RocketHit';
const SUBSTYLE_ServerNotice = 'ServerNotice';
const SUBSTYLE_SortBy = 'SortBy';
const SUBSTYLE_UnknownElimination = 'UnknownElimination';
const SUBSTYLE_UnknownHit = 'UnknownHit';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,31 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'ManiaPlanetLogos' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_ManiaPlanetLogos extends Quad {
/*
* Constants
*/
const STYLE = 'ManiaPlanetLogos';
const SUBSTYLE_IconPlanets = 'IconPlanets';
const SUBSTYLE_IconPlanetsPerspective = 'IconPlanetsPerspective';
const SUBSTYLE_IconPlanetsSmall = 'IconPlanetsSmall';
const SUBSTYLE_ManiaPlanetLogoBlack = 'ManiaPlanetLogoBlack';
const SUBSTYLE_ManiaPlanetLogoBlackSmall = 'ManiaPlanetLogoBlackSmall';
const SUBSTYLE_ManiaPlanetLogoWhite = 'ManiaPlanetLogoWhite';
const SUBSTYLE_ManiaPlanetLogoWhiteSmall = 'ManiaPlanetLogoWhiteSmall';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,35 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'ManiaPlanetMainMenu' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_ManiaPlanetMainMenu extends Quad {
/*
* Constants
*/
const STYLE = 'ManiaPlanetMainMenu';
const SUBSTYLE_BottomBar = 'BottomBar';
const SUBSTYLE_Highlight = 'Highlight';
const SUBSTYLE_IconAdd = 'IconAdd';
const SUBSTYLE_IconHome = 'IconHome';
const SUBSTYLE_IconPlay = 'IconPlay';
const SUBSTYLE_IconQuit = 'IconQuit';
const SUBSTYLE_IconSettings = 'IconSettings';
const SUBSTYLE_IconStore = 'IconStore';
const SUBSTYLE_MainBg = 'MainBg';
const SUBSTYLE_TitleBg = 'TitleBg';
const SUBSTYLE_TopBar = 'TopBar';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,30 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'ManiaplanetSystem' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_ManiaplanetSystem extends Quad {
/*
* Constants
*/
const STYLE = 'ManiaplanetSystem';
const SUBSTYLE_BgDialog = 'BgDialog';
const SUBSTYLE_BgDialogAnchor = 'BgDialogAnchor';
const SUBSTYLE_BgFloat = 'BgFloat';
const SUBSTYLE_Events = 'Events';
const SUBSTYLE_Medals = 'Medals';
const SUBSTYLE_Statistics = 'Statistics';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,31 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'MedalsBig' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_MedalsBig extends Quad {
/*
* Constants
*/
const STYLE = 'MedalsBig';
const SUBSTYLE_MedalBronze = 'MedalBronze';
const SUBSTYLE_MedalGold = 'MedalGold';
const SUBSTYLE_MedalGoldPerspective = 'MedalGoldPerspective';
const SUBSTYLE_MedalNadeo = 'MedalNadeo';
const SUBSTYLE_MedalNadeoPerspective = 'MedalNadeoPerspective';
const SUBSTYLE_MedalSilver = 'MedalSilver';
const SUBSTYLE_MedalSlot = 'MedalSlot';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,28 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'TitleLogos' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_TitleLogos extends Quad {
/*
* Constants
*/
const STYLE = 'TitleLogos';
const SUBSTYLE_Author = 'Author';
const SUBSTYLE_Collection = 'Collection';
const SUBSTYLE_Icon = 'Icon';
const SUBSTYLE_Title = 'Title';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,47 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'UIConstructionBullet_Buttons' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_UIConstructionBullet_Buttons extends Quad {
/*
* Constants
*/
const STYLE = 'UIConstructionBullet_Buttons';
const SUBSTYLE_AnimMode = 'AnimMode';
const SUBSTYLE_BlocMode = 'BlocMode';
const SUBSTYLE_BulletEditorMode = 'BulletEditorMode';
const SUBSTYLE_Circle = 'Circle';
const SUBSTYLE_Core = 'Core';
const SUBSTYLE_CoreFolder = 'CoreFolder';
const SUBSTYLE_DeltaMode = 'DeltaMode';
const SUBSTYLE_Disc = 'Disc';
const SUBSTYLE_ExplosionMode = 'ExplosionMode';
const SUBSTYLE_NewBullet = 'NewBullet';
const SUBSTYLE_NewRandomBullet = 'NewRandomBullet';
const SUBSTYLE_Point = 'Point';
const SUBSTYLE_Power = 'Power';
const SUBSTYLE_PowerFolder = 'PowerFolder';
const SUBSTYLE_PreviewMode = 'PreviewMode';
const SUBSTYLE_RootMotionMode = 'RootMotionMode';
const SUBSTYLE_SmokeDebris = 'SmokeDebris';
const SUBSTYLE_SmokeDebrisFolder = 'SmokeDebrisFolder';
const SUBSTYLE_SoundMode = 'SoundMode';
const SUBSTYLE_SphereEmpty = 'SphereEmpty';
const SUBSTYLE_SphereFull = 'SphereFull';
const SUBSTYLE_Trail = 'Trail';
const SUBSTYLE_TrailFolder = 'TrailFolder';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,81 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'UIConstruction_Buttons' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_UIConstruction_Buttons extends Quad {
/*
* Constants
*/
const STYLE = 'UIConstruction_Buttons';
const SUBSTYLE_ActionMaker = 'ActionMaker';
const SUBSTYLE_Add = 'Add';
const SUBSTYLE_AirMapping = 'AirMapping';
const SUBSTYLE_Author = 'Author';
const SUBSTYLE_AuthorTime = 'AuthorTime';
const SUBSTYLE_BgEditors = 'BgEditors';
const SUBSTYLE_BgIcons = 'BgIcons';
const SUBSTYLE_BgMain = 'BgMain';
const SUBSTYLE_BgTools = 'BgTools';
const SUBSTYLE_BlockEditor = 'BlockEditor';
const SUBSTYLE_Camera = 'Camera';
const SUBSTYLE_Challenge = 'Challenge';
const SUBSTYLE_CopyPaste = 'CopyPaste';
const SUBSTYLE_DecalEditor = 'DecalEditor';
const SUBSTYLE_Delete = 'Delete';
const SUBSTYLE_Directory = 'Directory';
const SUBSTYLE_Down = 'Down';
const SUBSTYLE_Drive = 'Drive';
const SUBSTYLE_Erase = 'Erase';
const SUBSTYLE_FreeItems = 'FreeItems';
const SUBSTYLE_GhostBlocks = 'GhostBlocks';
const SUBSTYLE_Help = 'Help';
const SUBSTYLE_Item = 'Item';
const SUBSTYLE_Left = 'Left';
const SUBSTYLE_MacroBlockEditor = 'MacroBlockEditor';
const SUBSTYLE_MediaTracker = 'MediaTracker';
const SUBSTYLE_ObjectEditor = 'ObjectEditor';
const SUBSTYLE_OffZone = 'OffZone';
const SUBSTYLE_Options = 'Options';
const SUBSTYLE_Paint = 'Paint';
const SUBSTYLE_Pick = 'Pick';
const SUBSTYLE_Plugins = 'Plugins';
const SUBSTYLE_Quit = 'Quit';
const SUBSTYLE_Redo = 'Redo';
const SUBSTYLE_Reload = 'Reload';
const SUBSTYLE_Right = 'Right';
const SUBSTYLE_Save = 'Save';
const SUBSTYLE_SaveAs = 'SaveAs';
const SUBSTYLE_ScriptEditor = 'ScriptEditor';
const SUBSTYLE_SpotModelClearUnused = 'SpotModelClearUnused';
const SUBSTYLE_SpotModelDuplicate = 'SpotModelDuplicate';
const SUBSTYLE_SpotModelNew = 'SpotModelNew';
const SUBSTYLE_SpotModelRename = 'SpotModelRename';
const SUBSTYLE_Square = 'Square';
const SUBSTYLE_Stats = 'Stats';
const SUBSTYLE_Sub = 'Sub';
const SUBSTYLE_TerrainEditor = 'TerrainEditor';
const SUBSTYLE_TestSm = 'TestSm';
const SUBSTYLE_Text = 'Text';
const SUBSTYLE_Tools = 'Tools';
const SUBSTYLE_Underground = 'Underground';
const SUBSTYLE_Undo = 'Undo';
const SUBSTYLE_Up = 'Up';
const SUBSTYLE_Validate = 'Validate';
const SUBSTYLE_Validate_Step1 = 'Validate_Step1';
const SUBSTYLE_Validate_Step2 = 'Validate_Step2';
const SUBSTYLE_Validate_Step3 = 'Validate_Step3';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,36 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'UIConstruction_Buttons2' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_UIConstruction_Buttons2 extends Quad {
/*
* Constants
*/
const STYLE = 'UIConstruction_Buttons2';
const SUBSTYLE_AirMapping = 'AirMapping';
const SUBSTYLE_BlockEditor = 'BlockEditor';
const SUBSTYLE_Copy = 'Copy';
const SUBSTYLE_Cut = 'Cut';
const SUBSTYLE_GhostBlocks = 'GhostBlocks';
const SUBSTYLE_KeysAdd = 'KeysAdd';
const SUBSTYLE_KeysCopy = 'KeysCopy';
const SUBSTYLE_KeysDelete = 'KeysDelete';
const SUBSTYLE_KeysPaste = 'KeysPaste';
const SUBSTYLE_New = 'New';
const SUBSTYLE_Open = 'Open';
const SUBSTYLE_Symmetry = 'Symmetry';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

View File

@ -0,0 +1,45 @@
<?php
namespace FML\Controls\Quads;
use FML\Controls\Quad;
/**
* Quad class for 'UiSMSpectatorScoreBig' styles
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Quad_UiSMSpectatorScoreBig extends Quad {
/*
* Constants
*/
const STYLE = 'UiSMSpectatorScoreBig';
CONST SUBSTYLE_BotLeft = 'BotLeft';
CONST SUBSTYLE_BotLeftGlass = 'BotLeftGlass';
CONST SUBSTYLE_BotRight = 'BotRight';
CONST SUBSTYLE_BotRightGlass = 'BotRightGlass';
CONST SUBSTYLE_CenterShield = 'CenterShield';
CONST SUBSTYLE_CenterShieldSmall = 'CenterShieldSmall';
CONST SUBSTYLE_HandleLeft = 'HandleLeft';
CONST SUBSTYLE_HandleRight = 'HandleRight';
CONST SUBSTYLE_PlayerGlass = 'PlayerGlass';
CONST SUBSTYLE_PlayerIconBg = 'PlayerIconBg';
CONST SUBSTYLE_PlayerJunction = 'PlayerJunction';
CONST SUBSTYLE_PlayerSlot = 'PlayerSlot';
CONST SUBSTYLE_PlayerSlotCenter = 'PlayerSlotCenter';
CONST SUBSTYLE_PlayerSlotRev = 'PlayerSlotRev';
CONST SUBSTYLE_PlayerSlotSmall = 'PlayerSlotSmall';
CONST SUBSTYLE_PlayerSlotSmallRev = 'PlayerSlotSmallRev';
CONST SUBSTYLE_TableBgHoriz = 'TableBgHoriz';
CONST SUBSTYLE_TableBgVert = 'TableBgVert';
CONST SUBSTYLE_Top = 'Top';
CONST SUBSTYLE_UIRange1Bg = 'UIRange1Bg';
CONST SUBSTYLE_UIRange2Bg = 'UIRange2Bg';
/*
* Protected properties
*/
protected $style = self::STYLE;
}

117
libs/FML/Controls/Video.php Normal file
View File

@ -0,0 +1,117 @@
<?php
namespace FML\Controls;
use FML\Types\Playable;
use FML\Types\Scriptable;
/**
* Video Control
* (CMlMediaPlayer)
*
* @author steeffeen <mail@steeffeen.com>
* @copyright FancyManiaLinks Copyright © 2014 Steffen Schröder
* @license http://www.gnu.org/licenses/ GNU General Public License, Version 3
*/
class Video extends Control implements Playable, Scriptable {
/*
* Protected properties
*/
protected $tagName = 'video';
protected $data = null;
protected $dataId = null;
protected $play = null;
protected $looping = true;
protected $music = null;
protected $volume = 1.;
protected $scriptEvents = null;
/**
* @see \FML\Controls\Control::getManiaScriptClass()
*/
public function getManiaScriptClass() {
return 'CMlMediaPlayer';
}
/**
* @see \FML\Types\Playable::setData()
*/
public function setData($data) {
$this->data = (string)$data;
return $this;
}
/**
* @see \FML\Types\Playable::setDataId()
*/
public function setDataId($dataId) {
$this->dataId = (string)$dataId;
return $this;
}
/**
* @see \FML\Types\Playable::setPlay()
*/
public function setPlay($play) {
$this->play = ($play ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setLooping()
*/
public function setLooping($looping) {
$this->looping = ($looping ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setMusic()
*/
public function setMusic($music) {
$this->music = ($music ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Playable::setVolume()
*/
public function setVolume($volume) {
$this->volume = (float)$volume;
return $this;
}
/**
* @see \FML\Types\Scriptable::setScriptEvents()
*/
public function setScriptEvents($scriptEvents) {
$this->scriptEvents = ($scriptEvents ? 1 : 0);
return $this;
}
/**
* @see \FML\Types\Renderable::render()
*/
public function render(\DOMDocument $domDocument) {
$xmlElement = parent::render($domDocument);
if ($this->data) {
$xmlElement->setAttribute('data', $this->data);
}
if ($this->play) {
$xmlElement->setAttribute('play', $this->play);
}
if (!$this->looping) {
$xmlElement->setAttribute('looping', $this->looping);
}
if ($this->music) {
$xmlElement->setAttribute('music', $this->music);
}
if ($this->volume != 1.) {
$xmlElement->setAttribute('volume', $this->volume);
}
if ($this->scriptEvents) {
$xmlElement->setAttribute('scriptevents', $this->scriptEvents);
}
return $xmlElement;
}
}