func init // adds using namespace sys.add_use('Emgu.CV') sys.add_use('Emgu.CV.UI') sys.add_use('Emgu.CV.Structure') // adds assembly sys.add_assembly('Emgu.CV', 'Emgu.CV.dll', 'assembly\\Emgu\\2.0.0\\') sys.add_assembly('Emgu.CV.UI', 'Emgu.CV.UI.dll', 'assembly\\Emgu\\2.0.0\\') sys.add_assembly('Emgu.Util', 'Emgu.Util.dll', 'assembly\\Emgu\\2.0.0\\') sys.file_copyto('' + code(packet_dir()) + 'assembly\\Emgu\\2.0.0\\cxcore110.dll', code(project_dir()) && 'cxcore110.dll') sys.file_copyto('' + code(packet_dir()) + 'assembly\\Emgu\\2.0.0\\highgui110.dll', code(project_dir()) && 'highgui110.dll') if(linked("doQueryGrayFrame") or linked("doQuerySmallFrame")) sys.file_copyto('' + code(packet_dir()) + 'assembly\\Emgu\\2.0.0\\cv110.dll', code(project_dir()) && 'cv110.dll') end // initialize instance params = this.props('Constructor').value if(params == 'None') sys.add_var(this.name, 'Capture') elseif(params == 'Constructor') sys.add_object(this.codename, 'Capture') elseif(params == 'Constructor2') sys.add_object(this.codename, 'Capture', d("Camera")) elseif(params == 'Constructor3') sys.add_object(this.codename, 'Capture', d("FileName")) sys.file_copyto('' + code(packet_dir()) + 'assembly\\Emgu\\2.0.0\\opencv_ffmpeg110.dll', code(project_dir()) && 'opencv_ffmpeg110.dll') end // initialize properties if(platform_target != 'x86') warning(this.name + ' - change property «Platform» to «x86»') end if(params != 'None') this.set_props(blk_init) end // makes implementation methods for properties sys._prop_init('Width', 1, 0, 1) sys._prop_init('Height', 1, 0, 1) sys._prop_init('FlipHorizontal', 1, 1, 104) sys._prop_init('FlipVertical', 1, 1, 104) // makes implementation of methods as properties sys._mtd_as_prop_init('Capture') end func doConstructor() blk.println(this.codename, ' = new Capture();') this.set_props(blk) end func doConstructor2(data) blk.println(this.codename, ' = new Capture(', d("Camera"), ');') this.set_props(blk) end func doConstructor3(data) blk.println(this.codename, ' = new Capture(', d("FileName"), ');') this.set_props(blk) sys.file_copyto('' + code(packet_dir()) + 'assembly\\Emgu\\2.0.0\\opencv_ffmpeg110.dll', code(project_dir()) && 'opencv_ffmpeg110.dll') end func set_props(blkout) sys.set_typed_field(104, 'FlipHorizontal', '', '', blkout) sys.set_typed_field(104, 'FlipVertical', '', '', blkout) if(not isdef("FlipType")) a = this.props("FlipType").value flg = ((a _and_ 1) ? '|Emgu.CV.CvEnum.FLIP.HORIZONTAL' : '') + ((a _and_ 2) ? '|Emgu.CV.CvEnum.FLIP.VERTICAL' : '') blkout.println(this.codename, '.FlipType = Emgu.CV.CvEnum.FLIP.NONE', flg, ';') end end func doQueryFrame() event('onImage', this.codename + '.QueryFrame()') end func doQueryGrayFrame() event('onImage', this.codename + '.QueryGrayFrame()') end func doQuerySmallFrame() event('onImage', this.codename + '.QuerySmallFrame()') end func doFlipType(data) blk.println(this.codename, '.FlipType = ', data, ';') end