Calque.js

import { Grille } from "./Grille.js";
/**
 * @author Adrien Hiribarren Touya adrien64250@yahoo.com
 * @date 14/11/2023
 * Classe représentant un Calque.
 */
export class Calque {
    // ATTRIBUTS
    /**
     * Grille du Calque.
     */
    #_grille;
    /**
     * Position du Calque.
     */
    #_position;
    /**
     * Nom du Calque.
     */
    #_nom;

    // CONSTRUCTEUR
    /**
     * Crée un nouveau Calque avec (par défaut) un nom, une position, une hauteur et une largeur.
     * @param {string} nom Le nom du Calque.
     * @param {int} position La position du Calque.
     * @param {int} hauteur La hauteur de la Grille du Calque.
     * @param {int} largeur La largeur de la Grille du Calque.
     */
    constructor(nom, position, hauteur, largeur) {
        this.#_grille = new Grille(hauteur, largeur);
        this.#_position = position;
        this.#_nom = nom;
    }

    // GETTERS & SETTERS
    /**
     * Retourne la Grille du Calque.
     * @returns {Grille} La Grille du Calque.
     */
    getGrille() { return this.#_grille; }
    /**
     * Retourne la position du Calque.
     * @returns {int} La position du Calque.
     */
    getPosition() { return this.#_position; }
    /**
     * Retourne le nom du Calque.
     * @returns {string} Le nom du Calque.
     */
    getNom() { return this.#_nom; }
    
    /**
     * Définit la Grille du Calque.
     * @param {Grille} grille La nouvelle Grille du Calque.
     */
    setGrille(grille) { this.#_grille = grille; }
    /**
     * Définit la position du Calque.
     * @param {int} pos La nouvelle position du Calque.
     */
    setPosition(pos) { this.#_position = pos; }
    /**
     * Définit le nom du Calque.
     * @param {string} nom Le nouveau nom du Calque.
     */
    setNom(nom) { this.#_nom = nom; }
}