func init // initialize instance if(not isdef("FileName")) params = '' + this.props("FileName") sys.add_object(this.codename, 'Cursor', params) elseif(linked("stream")) params = '' + d("stream") sys.add_object(this.codename, 'Cursor', params) elseif(linked("handle")) params = '' + d("handle") sys.add_object(this.codename, 'Cursor', params) else blk_vars.println('private Cursor ', this.codename, ';') blk_init.println(this.codename, ' = Cursors.', this.props("Cursor"), ';') end // initialize properties sys.set_typed_field(20, 'Clip') if(not isdef("Current")) blk_init.println('Cursor.Current = ', sys.get_undef_manager('Current'), ';') end sys.set_typed_field(20, 'Position') sys.set_typed_field(20, 'Tag') // makes implementation methods for properties sys._prop_init('Clip', 1, 1, 0, 'Cursor') sys._prop_init('Current', 1, 1, 0, 'Cursor') sys._prop_init('Handle', 1, 0, 0) sys._prop_init('HotSpot', 1, 0, 0) sys._prop_init('Position', 1, 1, 0, 'Cursor') sys._prop_init('Size', 1, 0, 0) sys._prop_init('Tag', 1, 1, 0) // makes implementation of methods as properties sys._mtd_as_prop_init('Cursor') sys._mtd_as_prop_init('CopyHandle()') // makes implementation of simple methods sys._method_init('Dispose') end func Current return('Cursor.Current') end func doCurrent(data) blk.println('Cursor.Current = ', sys.to_type(data, 0), ';') end func doDraw(g, targetRect) blk.println(this.codename, '.Draw(', d("g"), ', ', d("targetRect"), ');') end func doDrawStretched(g, targetRect) blk.println(this.codename, '.DrawStretched(', d("g"), ', ', d("targetRect"), ');') end func doHide() blk.println('Cursor.Hide();') end func doShow() blk.println('Cursor.Show();') end