Группы объектов | ||||
Группы это каталоги, объектами которых являются слои элементов изображения, вектора данных и сами группы. Группы нужны: Состав изображения для апплета описывается как список групп слоев. При задании множества "активных" элементов изображения
группы позволяют управлять "экранированием". В примере ? 32 - показано "сложное" множество "активных" геометрически пересекающихся элементов изображения, которые включены в разные группы. Задание списка элементов группы
При статическом описании параметров апплета для указания группы необходимо включить параметр group при задании изображения создаваемого апплетом. Например, <param group=имя_группы name=layers_draw value="множество_отображаемых_слоев"> Группы это аналоги каталогов файловой системы. Помимо атрибута
group= слой можно включить в группу, задав имя группы прямо в имени слоя, поскольку имя
слоя это фактически имя-путь (как для файла). Разделитель имени - символ
'.'(точка) . Если имя начинается с точки, то это означает путь от корня,
иначе - путь от текущей группы. Это так же
справедливо для задания имени группы в атрибуте
group=. Например: <param name=group1.group11.layer4 value="draw_layer=0x1D00 draw_active=0x1F54 group=group2 border_width_layer=1 border_color_layer=#FF0099 fill_color_layer=#CCCCFF border_width=2 border_color=#DC143C fill_color=#40E0D0"> Здесь слой layer4 создается в группе group11, которая в свою очередь включается в группу group1, размещаемую в корне. Кроме того, слой layer4 включается в группу group2, которая оказывается на одном уровне с группой group1 - в корне. Необходимые группы group1, group11 и group2 создаются автоматически при создании слоя по его статическому описанию. Описание групп с помощью статических параметров апплета имеет некоторые ограничения: Статических параметров апплета может не хватить для описания групп объектов в следующих случаях:
Апплет предоставляет ряд методов для
редактирования состава групп и их
элементов: При динамическом описании список слоев группы задается в виде строки, в которой помещаются разделенные пробелами имена слоев, массивов данных, групп слоев или имена файлов с растровыми изображениями. Перечисленные в списке объекты дополняются к уже имеющимся в списке. Напрмер,
Для предварительной очистки списка необходимо в качестве первой лексемы в строке задать символ '%'. Для непосредственного задания слоя или массива данны по имени необходимо перед именем слоя поместить символ '#' - #layer_name. Для включения всех объектов некоторой группы необходимо указать имя группы, перед которым нужно поместить символ ':' (двоеточие) - :group_name. Для включения группы, а не входящих в ее состав объектов, необходимо включить в список непосредственно имя группы. Имеется возможность включить в состав группы растровые изображения из файлов, не создавая предварительно никаких слоев и не включая в них соответствующие элементы типа image. Для этого можно вместо имени слоя нужно задать непосредственно полный URL или локальный путь к файлу с растровым изображением, перед которым стоит символ '!'. В этом случае автоматически создается (если отутствует) слой с именем равным имени файла с растровым изображением и в него включается один элемент типа "image" с указанным файлом и для него устанавливаются атрибуты, обеспечивающие его отображение без смещения и масштабирования, начиная от левого верхнего угла изображения создаваемого апплетом. Например,
|