1 17 18 19 20 package org.apache.fop.render.afp.modca; 21 import java.io.IOException ; 22 import java.io.OutputStream ; 23 24 25 26 46 public class PageObject extends AbstractPageObject { 47 48 51 private ResourceGroup _resourceGroup = null; 52 53 66 public PageObject(String name, int width, int height, int rotation) { 67 68 super(name, width, height, rotation); 69 70 } 71 72 76 public void addOverlay(Overlay overlay) { 77 if (_resourceGroup == null) { 78 _resourceGroup = new ResourceGroup(); 79 } 80 _resourceGroup.addOverlay(overlay); 81 } 82 83 95 public void createIncludePageOverlay(String name, int x, int y, int orientation) { 96 97 IncludePageOverlay ipo = new IncludePageOverlay(name, x, y, orientation); 98 _objects.add(ipo); 99 100 } 101 102 107 public void writeDataStream(OutputStream os) 108 throws IOException { 109 110 writeStart(os); 111 112 if (_resourceGroup != null) { 113 _resourceGroup.writeDataStream(os); 114 } 115 116 _activeEnvironmentGroup.writeDataStream(os); 117 118 writeObjectList(_segments, os); 119 120 writeObjectList(_tagLogicalElements, os); 121 122 writeObjectList(_objects, os); 123 124 writeEnd(os); 125 126 } 127 128 132 private void writeStart(OutputStream os) 133 throws IOException { 134 135 byte[] data = new byte[17]; 136 137 data[0] = 0x5A; data[1] = 0x00; data[2] = 0x10; data[3] = (byte) 0xD3; data[4] = (byte) 0xA8; data[5] = (byte) 0xAF; data[6] = 0x00; data[7] = 0x00; data[8] = 0x00; 147 for (int i = 0; i < _nameBytes.length; i++) { 148 149 data[9 + i] = _nameBytes[i]; 150 151 } 152 153 os.write(data); 154 155 } 156 157 161 private void writeEnd(OutputStream os) 162 throws IOException { 163 164 byte[] data = new byte[17]; 165 166 data[0] = 0x5A; data[1] = 0x00; data[2] = 0x10; data[3] = (byte) 0xD3; data[4] = (byte) 0xA9; data[5] = (byte) 0xAF; data[6] = 0x00; data[7] = 0x00; data[8] = 0x00; 176 for (int i = 0; i < _nameBytes.length; i++) { 177 178 data[9 + i] = _nameBytes[i]; 179 180 } 181 182 os.write(data); 183 184 } 185 186 } | Popular Tags |