20 #ifndef RENDER_NATIVE_WINDOW_H 21 #define RENDER_NATIVE_WINDOW_H 25 #include <cairoSurfaceImage.h> 28 #ifndef CLASSDESC_TYPENAME___std__lock_guard__mutex___ 29 #define CLASSDESC_TYPENAME___std__lock_guard__mutex___ 32 template <>
struct tn<
std::lock_guard<std::mutex>>
34 static string name() {
return "std::lock_guard<std::mutex>";}
41 class WindowInformation;
79 classdesc::Exclude<std::shared_ptr<WindowInformation>>
winInfoPtr;
95 #include "renderNativeWindow.cd"
const RenderFrameArgs & frameArgs() const
friend void macOSXRedraw(RenderNativeWindow &, const std::shared_ptr< std::lock_guard< std::mutex >> &)
RenderFrameArgs m_frameArgs
classdesc::Exclude< std::shared_ptr< WindowInformation > > winInfoPtr
classdesc::Exclude< CopiableMutux > drawMutex
virtual bool hasScrollBars() const
return whether this window has scrollbars (needed for MacOSX).
CopiableMutux(const CopiableMutux &)
void renderFrame(const RenderFrameArgs &args)
CLASSDESC_ACCESS(RenderNativeWindow)
std::string parentWindowId
static ecolab::cairo::Colour backgroundColour
a copiable mutex where each copy has a distinct mutex
RenderNativeWindow()=default
virtual void init()
perform any initialisation of any subclasses of this
static double scaleFactor()
~RenderNativeWindow() override
RenderNativeWindow & operator=(const RenderNativeWindow &x)