func init // adds using namespace sys.add_use('System.Drawing') // initialize instance params = this.props('Constructor').value if(params == 'Constructor') params = '' + d("brush", 20, 'Brushes.Black') elseif(params == 'Constructor2') params = '' + sys.get_typed_field('Color.Black', 'Color', 8) elseif(params == 'Constructor3') params = '' + d("brush", 20, 'Brushes.Black') + ', ' + d("width") elseif(params == 'Constructor4') params = '' + sys.get_typed_field('Color.Black', 'Color', 8) + ', ' + d("width") end sys.add_object(this.codename, 'Pen', params) // initialize properties this.set_props(blk_init) // makes implementation methods for properties sys._prop_init('Alignment', 1, 1, 0) sys._prop_init('.Brush', 1, 1, 0) sys._prop_init('.Color', 1, 1, 0) sys._prop_init('CompoundArray', 1, 1, 0) sys._prop_init('CustomEndCap', 1, 1, 0) sys._prop_init('CustomStartCap', 1, 1, 0) sys._prop_init('DashCap', 1, 1, 0) sys._prop_init('DashOffset', 1, 1, 107) sys._prop_init('DashPattern', 1, 1, 0) sys._prop_init('DashStyle', 1, 1, 0) sys._prop_init('EndCap', 1, 1, 0) sys._prop_init('LineJoin', 1, 1, 0) sys._prop_init('MiterLimit', 1, 1, 107) sys._prop_init('PenType', 1, 0, 0) sys._prop_init('StartCap', 1, 1, 0) sys._prop_init('Transform', 1, 1, 0) sys._prop_init('.Width', 1, 1, 107) // makes implementation of methods as properties sys._mtd_as_prop_init('Clone()') sys._mtd_as_prop_init('Pen') // makes implementation of simple methods sys._method_init('Dispose') sys._method_init('ResetTransform') end func doConstructor(data) blk.println(this.codename, ' = new Pen(', d("brush", 20, data), ');') this.set_props(blk) end func doConstructor2(data) blk.println(this.codename, ' = new Pen(', sys.get_typed_field(data, 'Color', 8), ');') this.set_props(blk) end func doConstructor3(data) blk.println(this.codename, ' = new Pen(', d("brush", 20, data), ', ', d("width"), ');') this.set_props(blk) end func doConstructor4(data) blk.println(this.codename, ' = new Pen(', sys.get_typed_field(data, 'Color', 8), ', ', d("width"), ');') this.set_props(blk) end func doMultiplyTransform(data) blk.println(this.codename, '.MultiplyTransform(', d("matrix"), ');') end func doMultiplyTransform2(data) blk.println(this.codename, '.MultiplyTransform(', d("matrix"), ', ', d("order"), ');') end func doRotateTransform(data) blk.println(this.codename, '.RotateTransform(', d("angle"), ');') end func doRotateTransform2(data) blk.println(this.codename, '.RotateTransform(', d("angle"), ', ', d("order"), ');') end func doScaleTransform(data) blk.println(this.codename, '.ScaleTransform(', d("sx"), ', ', d("sy"), ');') end func doScaleTransform2(data) blk.println(this.codename, '.ScaleTransform(', d("sx"), ', ', d("sy"), ', ', d("order"), ');') end func doSetLineCap(data) blk.println(this.codename, '.SetLineCap(', d("startCap"), ', ', d("endCap"), ', ', d("dashCap"), ');') end func doTranslateTransform(data) blk.println(this.codename, '.TranslateTransform(', d("dx"), ', ', d("dy"), ');') end func doTranslateTransform2(data) blk.println(this.codename, '.TranslateTransform(', d("dx"), ', ', d("dy"), ', ', d("order"), ');') end func set_props(blkout) sys.set_typed_field(14, 'Alignment', '', 'System.Drawing.Drawing2D.PenAlignment', blkout) sys.set_typed_field(20, 'Brush', '', '', blkout) sys.set_typed_field(8, 'Color', '', '', blkout) if(not isdef("CompoundArray")) blkout.println(this.codename, '.CompoundArray = ', sys.get_typed_field('null', 'CompoundArray', 13, 107), ';') end sys.set_typed_field(20, 'CustomEndCap', '', '', blkout) sys.set_typed_field(20, 'CustomStartCap', '', '', blkout) sys.set_typed_field(14, 'DashCap', '', 'System.Drawing.Drawing2D.DashCap', blkout) sys.set_typed_field(107, 'DashOffset', '', '', blkout) if(not isdef("DashPattern")) blkout.println(this.codename, '.DashPattern = ', sys.get_typed_field('null', 'DashPattern', 13, 107), ';') end sys.set_typed_field(14, 'DashStyle', '', 'System.Drawing.Drawing2D.DashStyle', blkout) sys.set_typed_field(14, 'EndCap', '', 'System.Drawing.Drawing2D.LineCap', blkout) sys.set_typed_field(14, 'LineJoin', '', 'System.Drawing.Drawing2D.LineJoin', blkout) sys.set_typed_field(107, 'MiterLimit', '', '', blkout) sys.set_typed_field(14, 'StartCap', '', 'System.Drawing.Drawing2D.LineCap', blkout) sys.set_typed_field(20, 'Transform', '', '', blkout) sys.set_typed_field(107, 'Width', '', '', blkout) end