//===============================================================================
// Xe UI toolkit
//
// XeDraw
// Private  header file
//
// AUTHOR:  Gabor Nagy
// DATE:    2024-May-11 23:27:27
//
// Copyright (C) 1996-2026 by Gabor Nagy. All rights reserved.
//===============================================================================
#ifndef _XeDrawP_h
#define _XeDrawP_h

#include <Xe/PrimitiveP.h>
#include <Xe/Draw.h>

#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
extern "C" {
#endif


//================================
// Class definition
//================================

#define XeDrawClassCore\
	XeCoreClassCore

typedef struct _XeDrawClassRec
{
	XeDrawClassCore;
} XeDrawClassRec;

extern XeDrawClassRec  _XeDraw_class;


#ifdef EX11
#define XeDrawX11\
	XVisualInfo*  VisualInfo;\
	EBool         VisualInfoAllocated;
#else
#define XeDrawX11
#endif


#define XeDrawCore\
	XeWidgetCore;\
	XeImage         Image;\
	XeCallbackList  RedrawCallback;\
	XeDrawX11


//================================
// Instance record
//================================
typedef struct _XeDrawRec
{
	XeDrawCore;
} XeDrawRec;


#if defined (__cplusplus) && (!(defined (__CPLUSLIBS)))
}	// Close scope of 'extern "C"' declaration
#endif

#endif // _XeDrawP_h
