//================================================================================
// Xe Widget set
//
// XeClipWindow
//  Private header file
//
// AUTHOR:  Gabor Nagy
// DATE:    2024-Aug-15 18:56:09
//
// Copyright (C) 1996-2026 by Gabor Nagy. All rights reserved.
//===============================================================================
#ifndef _XeClipWindowP_h
#define _XeClipWindowP_h

#include <Xe/ManagerP.h>
#include <Xe/ClipWindow.h>

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

//================================
// Class definition
//================================
// Class part
//================================
typedef struct _XeClipWindowClassPart
{
	EPointer  Extension;
} XeClipWindowClassPart;


//================================
// Class record
//================================
typedef struct _XeClipWindowClassRec
{
	XeCompositeClassCore;
	XeConstraintClassPart  Constraint;
	XeManagerClassPart     Manager;
	XeClipWindowClassPart  ClipWindow;
} XeClipWindowClassRec;

extern XeClipWindowClassRec  _XeClipWindow;


// Constraint resources
//
typedef struct _XeClipWindowConstraintPart
{
	EBool     Resizable;
	XeCoord2  PreferredSize;
} XeClipWindowConstraintPart;


typedef struct _XeClipWindowConstraintRec
{
	XeClipWindowConstraintPart  ClipWindow;
} XeClipWindowConstraintRec, *XeClipWindowConstraints;


//================================
// Instance definition
//================================
// Instance part
//================================
typedef struct
{
} XeClipWindowPart;


//================================
// Instance record
//================================
typedef struct _XeClipWindowRec_S
{
	XeCompositeWidgetCore;

	XeBasePart        Base;
	XeManagerPart     Manager;
	XeClipWindowPart  ClipWindow;
} XeClipWindowRec;


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

#endif // _XeClipWindowP_h
