public override void OnInitialize() { g_x1 = M.Zero <T>(); g_y1 = M.Zero <T>(); g_x2 = M.New <T>(rbuf_img(0).Width); g_y2 = M.New <T>(rbuf_img(0).Height); T x1 = g_x1; // * 100.0; T y1 = g_y1; // * 100.0; T x2 = g_x2; // * 100.0; T y2 = g_y2; // * 100.0; T dx = width().Divide(2.0).Subtract(x2.Subtract(x1).Divide(2.0)); T dy = height().Divide(2.0).Subtract(y2.Subtract(y1).Divide(2.0)); m_quad.SetXN(0, x1.Add(dx).Floor()); m_quad.SetYN(0, y1.Add(dy).Floor()); // - 150; m_quad.SetXN(1, x2.Add(dx).Floor()); m_quad.SetYN(1, y1.Add(dy).Floor()); // - 110; m_quad.SetXN(2, x2.Add(dx).Floor()); m_quad.SetYN(2, y2.Add(dy).Floor()); // - 300; m_quad.SetXN(3, x1.Add(dx).Floor()); m_quad.SetYN(3, y2.Add(dy).Floor()); // - 200; #if SourceDepth24 pixfmt_alpha_blend_rgb pixf = new pixfmt_alpha_blend_rgb(rbuf_img(0), new blender_bgr()); #else FormatRGBA pixf = new FormatRGBA(rbuf_img(0), new BlenderBGRA()); #endif //pixf.apply_gamma_dir(m_gamma_lut); base.OnInitialize(); }
//typedef agg.renderer_base<pixfmt> renderer_base; //typedef agg.renderer_scanline_aa_solid<renderer_base> renderer_solid; public perspective_application(PixelFormats format, ERenderOrigin RenderOrigin) : base(format, RenderOrigin) { parse_lion(); m_quad = new AGG.UI.polygon_ctrl <T>(4, 5.0); m_trans_type = new AGG.UI.rbox_ctrl <T>(420, 5.0, 420 + 130.0, 55.0); m_quad.SetXN(0, g_x1); m_quad.SetYN(0, g_y1); m_quad.SetXN(1, g_x2); m_quad.SetYN(1, g_y1); m_quad.SetXN(2, g_x2); m_quad.SetYN(2, g_y2); m_quad.SetXN(3, g_x1); m_quad.SetYN(3, g_y2); m_trans_type.add_item("Bilinear"); m_trans_type.add_item("Perspective"); m_trans_type.cur_item(0); AddChild(m_trans_type); }