This is a documentation for Board Game Arena: play board games online !

BgaAutofit

From Board Game Arena
Jump to navigation Jump to search


Game File Reference



Useful Components

Official

  • Deck: a PHP component to manage cards (deck, hands, picking cards, moving cards, shuffle deck, ...).
  • Draggable: a JS component to manage drag'n'drop actions.
  • Counter: a JS component to manage a counter that can increase/decrease (ex: player's score).
  • ExpandableSection: a JS component to manage a rectangular block of HTML than can be displayed/hidden.
  • Scrollmap: a JS component to manage a scrollable game area (useful when the game area can be infinite. Examples: Saboteur or Takenoko games).
  • Stock: a JS component to manage and display a set of game elements displayed at a position.
  • Zone: a JS component to manage a zone of the board where several game elements can come and leave, but should be well displayed together (See for example: token's places at Can't Stop).
  • bga-autofit : a JS component to make text fit on a fixed size div.
  • bga-score-sheet : a JS component to help you display an animated score sheet at the end of the game.

Unofficial



Game Development Process



Guides for Common Topics



Miscellaneous Resources

Demo Doc

Overview

bga-autofit is a javascript component that you can use in your game interface to make text fit some fixed-size boxes.

The main usage is to make translated text on game cards fix the dedicated space of the card image.

Usage

Load the lib:

define([
    "dojo","dojo/_base/declare",
    "ebg/core/gamegui",
    "ebg/counter",
    getLibUrl('bga-autofit', '1.x'),
],
function (dojo, declare, gamegui, counter, BgaAutofit) { // note that the index of `BgaAutofit` must match the index of the define array

At the end of your game setup:

    BgaAutofit.init();

On any HTML element with fixed size that contain text to be fitted into:

    <div class="my-class-for-fixed-size bga-autofit">${text}</div>

Note: If you add a bga-autofit div after the end of the setup, it wil work too! The component use a MutationObserver to detect new elements with this class, and apply the same autofit. Make sure you only call BgaAutoFit.init(); once!

Versioning

The lib is using semver, so you can require 1.x to be sure to have the last fixes without risking a breaking change. Any breaking change will be noted on the Changelog section.

Using with TypeScript

If you use TypeScript and this lib, you can download the d.ts file to put in on your game folder to benefit from auto-completion. Depending on the way you build, you might need to remove the last line (the export instruction) to be able to use it.

Changelog

1.0.0: Initial version