FontStyle::FontStyle(const ArgList& args) { args.setMembers(this); setAlignment(args.getArgVal<UTF8String>("alignment")); setWrapMode(args.getArgVal<UTF8String>("wrapmode")); if (args.getArgVal<FontStylePtr>("basestyle") != 0) { applyBaseStyle(*(args.getArgVal<FontStylePtr>("basestyle")), args); } }
ImageNode::ImageNode(const ArgList& args) : m_Compression(TEXCOMPRESSION_NONE) { args.setMembers(this); m_pGPUImage = GPUImagePtr(new GPUImage(getSurface(), getMipmap())); m_Compression = string2TexCompression(args.getArgVal<string>("compression")); setHRef(m_href); ObjectCounter::get()->incRef(&typeid(*this)); }
CanvasNode::CanvasNode(const ArgList& args) : DivNode(args) { args.setMembers(this); if (getSize() == glm::vec2(0, 0)) { throw (Exception(AVG_ERR_OUT_OF_RANGE, "<avg> and <canvas> node width and height attributes are mandatory.")); } }
CurveNode::CurveNode(const ArgList& args) : VectorNode(args) { args.setMembers(this); glm::vec2 p0 = args.getArgVal<glm::vec2>("pos1"); glm::vec2 p1 = args.getArgVal<glm::vec2>("pos2"); glm::vec2 p2 = args.getArgVal<glm::vec2>("pos3"); glm::vec2 p3 = args.getArgVal<glm::vec2>("pos4"); m_pCurve = BezierCurvePtr(new BezierCurve(p0, p1, p2, p3)); }
ColorNode::ColorNode(const ArgList& Args) : m_sFillColorName("FFFFFF") { AVG_TRACE(Logger::category::PLUGIN, Logger::severity::INFO, "ColorNode c'tor gets Argument fillcolor= " << Args.getArgVal<string>("fillcolor")); Args.setMembers(this); AVG_TRACE(Logger::category::PLUGIN, Logger::severity::INFO, "ColorNode constructed with " << m_sFillColorName); }
PolyLineNode::PolyLineNode(const ArgList& args) : VectorNode(args) { args.setMembers(this); if (m_TexCoords.size() > m_Pts.size()) { throw(Exception(AVG_ERR_OUT_OF_RANGE, "Too many texture coordinates in polyline")); } setLineJoin(args.getArgVal<string>("linejoin")); calcPolyLineCumulDist(m_CumulDist, m_Pts, false); }
CanvasNode::CanvasNode(const ArgList& args) : DivNode(args) { args.setMembers(this); if (getSize() == glm::vec2(0, 0)) { throw (Exception(AVG_ERR_OUT_OF_RANGE, "AVGNode and CanvasNode size must be set.")); } if (getSize().x < 0 || getSize().y < 0) { throw Exception(AVG_ERR_OUT_OF_RANGE, "Negative size for canvas."); } }
SoundNode::SoundNode(const ArgList& args) : m_Filename(""), m_pEOFCallback(0), m_SeekBeforeCanRenderTime(0), m_pDecoder(0), m_Volume(1.0), m_State(Unloaded), m_AudioID(-1) { args.setMembers(this); m_Filename = m_href; initFilename(m_Filename); m_pDecoder = new AsyncVideoDecoder(8); ObjectCounter::get()->incRef(&typeid(*this)); }
CameraNode::CameraNode(const ArgList& args) : m_bIsPlaying(false), m_FrameNum(0), m_bIsAutoUpdateCameraImage(true), m_bNewBmp(false) { args.setMembers(this); string sDriver = args.getArgVal<string>("driver"); string sDevice = args.getArgVal<string>("device"); int unit = args.getArgVal<int>("unit"); bool bFW800 = args.getArgVal<bool>("fw800"); float frameRate = args.getArgVal<float>("framerate"); int width = args.getArgVal<int>("capturewidth"); int height = args.getArgVal<int>("captureheight"); string sPF = args.getArgVal<string>("pixelformat"); PixelFormat camPF = stringToPixelFormat(sPF); if (camPF == NO_PIXELFORMAT) { throw Exception(AVG_ERR_INVALID_ARGS, "Unknown camera pixel format "+sPF+"."); } PixelFormat destPF; if (pixelFormatIsColored(camPF)) { destPF = B8G8R8X8; } else { destPF = I8; } // cerr << "CameraNode ctor: " << camPF << "-->" << destPF << endl; m_pCamera = createCamera(sDriver, sDevice, unit, bFW800, IntPoint(width, height), camPF, destPF, frameRate); AVG_TRACE(Logger::CONFIG, "Got Camera " << m_pCamera->getDevice() << " from driver: " << m_pCamera->getDriverName()); m_pCamera->setFeature(CAM_FEATURE_BRIGHTNESS, args.getArgVal<int>("brightness")); m_pCamera->setFeature(CAM_FEATURE_EXPOSURE, args.getArgVal<int>("exposure")); m_pCamera->setFeature(CAM_FEATURE_SHARPNESS, args.getArgVal<int>("sharpness")); m_pCamera->setFeature(CAM_FEATURE_SATURATION, args.getArgVal<int>("saturation")); m_pCamera->setFeature(CAM_FEATURE_GAMMA, args.getArgVal<int>("camgamma")); m_pCamera->setFeature(CAM_FEATURE_SHUTTER, args.getArgVal<int>("shutter")); m_pCamera->setFeature(CAM_FEATURE_GAIN, args.getArgVal<int>("gain")); m_pCamera->setFeature(CAM_FEATURE_STROBE_DURATION, args.getArgVal<int>("strobeduration")); }
PolygonNode::PolygonNode(const ArgList& args) : FilledVectorNode(args) { args.setMembers(this); if (m_TexCoords.size() > m_Pts.size()+1) { throw(Exception(AVG_ERR_OUT_OF_RANGE, "Too many texture coordinates in polygon")); } if (m_Pts.size() != 0 && m_Pts.size() < 3) { throw(Exception(AVG_ERR_UNSUPPORTED, "A polygon must have min. tree points.")); } if (m_Holes.size() > 0) { for (unsigned int i = 0; i < m_Holes.size(); i++) { if (m_Holes[i].size() < 3) { throw(Exception(AVG_ERR_UNSUPPORTED, "A hole of a polygon must have min. tree points.")); } } } setLineJoin(args.getArgVal<string>("linejoin")); calcPolyLineCumulDist(m_CumulDist, m_Pts, true); }
DivNode::DivNode(const ArgList& args) { args.setMembers(this); ObjectCounter::get()->incRef(&typeid(*this)); }
AVGNode::AVGNode(const ArgList& args) : CanvasNode(args) { args.setMembers(this); }
AVGNode::AVGNode(const ArgList& args, const string& sPublisherName) : CanvasNode(args, sPublisherName) { args.setMembers(this); }
DivNode::DivNode(const ArgList& args) { args.setMembers(this); setElementOutlineColor(m_sElementOutlineColor); ObjectCounter::get()->incRef(&typeid(*this)); }
CurveNode::CurveNode(const ArgList& args) : VectorNode(args) { args.setMembers(this); }
DivNode::DivNode(const ArgList& args, const string& sPublisherName) : AreaNode(sPublisherName) { args.setMembers(this); ObjectCounter::get()->incRef(&typeid(*this)); }
OffscreenCanvasNode::OffscreenCanvasNode(const ArgList& args) : CanvasNode(args) { args.setMembers(this); }
RectNode::RectNode(const ArgList& args) : FilledVectorNode(args) { args.setMembers(this); setSize(args.getArgVal<glm::vec2>("size")); }