Un nom qui vaut pour plusieurs calques à la fois

Dessinez des éléments sur un nom qui suit plusieurs calques, et dites ce qu'un lecteur doit y trouver de vrai avant de montrer ce que ce nom couvre.

Résumé

Les calques se montrent et se cachent un par un. Une règle est un nom qui en surveille plusieurs : montrer cet avertissement tant que tous les calques de sécurité sont allumés, montrer cette note dès qu'un calque de langue est éteint. Les éléments dessinés sur la règle la suivent, et un logiciel de lecture déduit la règle des calques eux-mêmes plutôt que d'un interrupteur à elle.

Techniquement

Écrit au premier niveau d'une requête, sous "layer_rules"

layer_rules écrit les expressions de visibilité du document : un dictionnaire d'appartenance qui nomme plusieurs calques et la politique qui les tranche. Un élément dessiné sur le nom de la règle suit la règle. Le nom se pose à côté des calques déclarés, donc une règle qui prend le nom d'un calque déclaré par la demande est refusée.

Schéma de la requête

  • layer_rules — tableau, facultatif, vide par défaut.
  • layer_rules[].name — chaîne, obligatoire. Le nom sur lequel les éléments se disent dessinés. Il ne doit pas être celui d'un calque déclaré.
  • layer_rules[].shown — objet, obligatoire. layers — tableau de chaînes, les calques déclarés que la règle suit ; policy — l'une de all_visible, any_visible, any_hidden, all_hidden.

Une règle décide de ce qui est montré, jamais de ce qui est imprimé : ce qui part sur le papier est réglé par l'entrée de chaque calque sous layers.

Une requête entière qui le dessine

{
  "layers": {
    "french": { "name": "French" },
    "safety": { "name": "Safety" }
  },
  "layer_rules": [
    {
      "name": "french-safety",
      "shown": { "layers": ["french", "safety"], "policy": "all_visible" }
    }
  ],
  "standard_fonts": [{ "name": "sans", "face": "helvetica" }],
  "items": [
    {
      "type": "text",
      "rect": { "llx": 60, "lly": 740, "urx": 535, "ury": 765 },
      "content": ["A warning shown while both layers are on"],
      "font": "sans",
      "font_size": 14
    }
  ]
}

La ligne qui l'envoie, en trois langages

Ce qui est dessiné, et comment cela sort

Tout ce qu'on peut dessiner sur une page Le poids du fichier et le temps de calcul Des couches que le logiciel de lecture montre ou cache Un dessin fait une fois, montré par un bouton Les jeux de calques qu'un lecteur propose

Où aller ensuite

Chaque clé d'une requête, en une page Les quarante et un autres réglages d'une requête

Voir les prix Voir les exemples