23 using namespace mondschein;
24 using namespace display;
26 wx_Visual::wx_Visual() :
Visual::
Visual(), renderer::Context(), visual(), wxcontext()
32 Visual(_dsp,renderer::Context_p()), renderer::Context(_c,_r), visual(), wxcontext()
37 wx_Visual::~wx_Visual()
39 if (visual!=
nullptr)
delete visual;
40 if (wxcontext!=
nullptr)
delete wxcontext;
48 std::array<int32,27> attriblist;
49 attriblist.at(0)=WX_GL_RGBA; attriblist.at(1)=1;
50 attriblist.at(2)=WX_GL_LEVEL; attriblist.at(3)=0;
51 attriblist.at(4)=WX_GL_DOUBLEBUFFER; attriblist.at(5)=cxt.
doublebuffer;
52 attriblist.at(6)=WX_GL_MIN_RED; attriblist.at(7)=cxt.
color_depth(0);
53 attriblist.at(8)=WX_GL_MIN_GREEN; attriblist.at(9)=cxt.
color_depth(1);
54 attriblist.at(10)=WX_GL_MIN_BLUE; attriblist.at(11)=cxt.
color_depth(2);
55 attriblist.at(12)=WX_GL_MIN_ALPHA; attriblist.at(13)=cxt.
color_depth(3);
58 attriblist.at(18)=WX_GL_MIN_ACCUM_RED; attriblist.at(19)=cxt.
accum_depth(0);
59 attriblist.at(20)=WX_GL_MIN_ACCUM_GREEN; attriblist.at(21)=cxt.
accum_depth(1);
60 attriblist.at(22)=WX_GL_MIN_ACCUM_BLUE; attriblist.at(23)=cxt.
accum_depth(2);
61 attriblist.at(24)=WX_GL_MIN_ACCUM_ALPHA; attriblist.at(25)=cxt.
accum_depth(3);
63 visual=
new wxGLCanvas(0,wxID_ANY,attriblist.data(),wxDefaultPosition,wxSize(dsp.
width,dsp.
height));
64 wxcontext=
new wxGLContext(visual);
65 visual->SetCurrent(*wxcontext);
71 if (visual!=
nullptr)
delete visual;
78 visual->SwapBuffers();