Hi,<div><br></div><div>We have a software that uses cairo and X window system. The old design is using several X windows, several of them are transparent. We use Cairo to draw</div><div>image, curves and text annotation. </div>
<div><br></div><div>The design with several X windows causes us some problems when we move to a newer version of Linux. It also has lots of trouble with Xming X window manager. </div><div>We are thinking about a new design with just one X window. The image display part is already moved to OpenGL (for better performance reason). I am thinking about</div>
<div>still keep our old cairo codes for text annotation, but avoiding a separate X window. </div><div><br></div><div>The old logic:</div><div><br></div><div>from X window, create_cairo_context.</div><div>from a transparent png file, create a surface.</div>
<div>set the surface to cairo context</div><div>then draw things on cairo context </div><div><br></div><div>If I want to just use one X window (this window already has OpenGL context in it). Is the solution this way?</div>
<div><br></div><div>new logic:</div><div>create a cairo context without any X window (?).</div><div>png file to surface.</div><div>set the surface to cairo context</div><div>then draw things on cairo context</div><div>get the drawing result back to memory.</div>
<div>then use OpenGL to render it to hardware.</div><div><br></div><div><br></div><div>I am wondering whether new logic is possible? Will all the cairo rendering all done in software without hardware acceleration, versus old logic has? If without HW acceleration, I will only</div>
<div>be able to keep cairo for non real time drawing. </div><div>Any better way to link OpenGL and cairo together? Like user still uses cairo API to draw, but it is actually drawing using hardware (openGL), in a specify depth, and</div>
<div>with the opacity setting that I can control?</div><div><br></div><div>Your advise is appreciated.</div><div><br>Thanks,<br>Guo </div><div><br></div>