Autodesk 15606-011408-9300 Developer Guide - Page 82

onEndLayout, MGPrintLayout, MGPrintInfo

Page 82 highlights

3 Write the event handler. It goes in the HTML page (or the JavaScript .js file), just like any other JavaScript function. This function is executed automatically every time the onEndLayout event fires. Note that the function takes an MGPrintLayout object and an MGPrintInfo object as its parameters: function onEndLayout (layout, info) { if (new_symbol == "true") { int pixelsPerInch = info.getPageResolution(); // retrieve the page elements from the MGPrintInfo class MGPageElement mapEle = layout.getPageElement("mg_map"); MGPageElement logoEle = layout.addSymbol("mylogo"); // get the extents of the page elements MGExtentEx mapExt = mapEle.getExtent() MGExtentEx logoExt = logoEle.getExtent(); // set the width and height of the logo to 1" by 1" logoExt.set(mapExt.getMinX(), mapExt.getMinY(), mapExt.getMinX() + pixelsPerInch, mapExt.getMinY() + pixelsPerInch); logoEle.setExtent(logoExt); } } The following code shows how to implement the same event handler for the onEndLayout event in Java: public class MyObserver extends Applet implements MGPrintingObserver { public void onEndLayout(MGPrintLayout layout, MGPrintInfo info) { int pixelsPerInch = info.getPageResolution(); // retrieve the page elements from the MGPrintInfo class MGPageElement mapEle = layout.getPageElement("mg_map"); MGPageElement logoEle = layout.addSymbol("mylogo"); // get the extents of the page elements MGExtentEx mapExt = mapEle.getExtent() MGExtentEx logoExt = logoEle.getExtent(); // set the width and height of the logo to 1" by 1" logoExt.set(mapExt.getMinX(), mapExt.getMinY(), mapExt.getMinX() + pixelsPerInch, mapExt.getMinY() + pixelsPerInch); logoEle.setExtent(logoExt); } } 82 | Chapter 5 Handling Events

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208

82
|
Chapter 5
Handling Events
3
Write the event handler. It goes in the HTML page (or the JavaScript
.js
file), just like any other JavaScript function. This function is executed
automatically every time the
onEndLayout
event fires. Note that the
function takes an
MGPrintLayout
object and an
MGPrintInfo
object as
its parameters:
function onEndLayout (layout, info)
{
if (new_symbol == "true")
{
int pixelsPerInch = info.getPageResolution();
// retrieve the page elements from the MGPrintInfo class
MGPageElement mapEle = layout.getPageElement("mg_map");
MGPageElement logoEle = layout.addSymbol("mylogo");
// get the extents of the page elements
MGExtentEx mapExt = mapEle.getExtent()
MGExtentEx logoExt = logoEle.getExtent();
// set the width and height of the logo to 1" by 1"
logoExt.set(mapExt.getMinX(), mapExt.getMinY(),
mapExt.getMinX() + pixelsPerInch,
mapExt.getMinY() + pixelsPerInch);
logoEle.setExtent(logoExt);
}
}
The following code shows how to implement the same event handler for the
onEndLayout
event in Java:
public class MyObserver extends Applet implements
MGPrintingObserver
{
public void onEndLayout(MGPrintLayout layout, MGPrintInfo info)
{
int pixelsPerInch = info.getPageResolution();
// retrieve the page elements from the MGPrintInfo class
MGPageElement mapEle = layout.getPageElement("mg_map");
MGPageElement logoEle = layout.addSymbol("mylogo");
// get the extents of the page elements
MGExtentEx mapExt = mapEle.getExtent()
MGExtentEx logoExt = logoEle.getExtent();
// set the width and height of the logo to 1" by 1"
logoExt.set(mapExt.getMinX(), mapExt.getMinY(),
mapExt.getMinX() + pixelsPerInch,
mapExt.getMinY() + pixelsPerInch);
logoEle.setExtent(logoExt);
}
}