2017 © Pedro Peláez
 

library manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

image

maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  • Friday, October 3, 2014
  • by magnetik
  • Repository
  • 7 Watchers
  • 4 Stars
  • 1,059 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 2 Open issues
  • 6 Versions
  • 0 % Grown

The README.md

ManiaLib\Manialink

Latest Stable Version Latest Unstable Version Total Downloads Build, (*1)

ManiaLib\Manialink is an object-oriented PHP library for writing Manialink interfaces based on ManiaLib\XML., (*2)

We discuss about it at http://forum.maniaplanet.com/viewtopic.php?f=40&t=25999, (*3)

Installation

Install via Composer:, (*4)

{
    "require": {
        "maniaplanet/manialib-manialink": "0.3.*@dev"
    }
}

Features

  • Features of ManiaLib\XML
  • Frame logical size and alignment
  • Relative Alignment of child inside sized parent
  • Cards for composing complex reusable sets of elements
  • Helper classes for all styles/substyles

Architecture

  • See ManiaLib\XML
  • Most element should implement setter for usual attributes (eg. ManiaLib\Manialink\Elements\Quad::setImage($image)), but if the setter doesnt exists you can use setAttribute($name, $value) instead.
  • For style and substyle, the setStyle($style) method handles both at once when used with abstract classes in ManiaLib\Manialink\Styles\ eg. Quad::create()->setStyle(Bgs1::BgWindow1);

Examples

See /examples directory, (*5)

Alignment and Relative Alignment

  • Frame Size and Alignment emulates the behaviour of standard elements alignment in frames. With this you can create logical containers with a size, and position them using aligns and relative aligns (see below).
  • Relative Alignment helps position an element relative to its parent container. For this, you need a frame with a size and a child with a size ; for instance you can put a quad in the "bottom right corner of a frame with a size".

To help understand these concepts visually: * Cheat sheet manialink: http://maniapla.net/#url=manialib-manialink:align * Source: see in /example/alignments-cheat-sheet.php, (*6)

Has it anything to do with ManiaLib Framework?

Compared to former version of ManiaLib, this is just meant to be a standalone package to build Manialink pages. It can be used in any sort of projects, from Web frameworks (eg. ManiaLib) to server controllers (eg. ManiaLive). It shares some common code with ManiaLib\Gui, but a lot was changed in naming and overall architecture., (*7)

Todo

  • Bug layouts dans Frame3d?
  • Implement all Element classes
  • Implement all layouts
  • PhpDoc

The Versions

03/10 2014

dev-master

9999999-dev https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

The Development Requires

xml maniaplanet shootmania trackmania manialink

05/06 2014

dev-PageNavigatorUpdate

dev-PageNavigatorUpdate https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

The Development Requires

xml maniaplanet shootmania trackmania manialink

27/05 2014

0.2.x-dev

0.2.9999999.9999999-dev https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

The Development Requires

xml maniaplanet shootmania trackmania manialink

27/05 2014

0.1.x-dev

0.1.9999999.9999999-dev https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

The Development Requires

maniaplanet shootmania trackmania manialib

27/05 2014

v0.1.1

0.1.1.0 https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

The Development Requires

maniaplanet shootmania trackmania manialib

21/05 2014

v0.1.0

0.1.0.0 https://github.com/maniaplanet/manialib-manialink

Object-oriented PHP library for writing Manialink interfaces.

  Sources   Download

MIT

The Requires

 

maniaplanet shootmania trackmania manialib