/****************************************************************************
 * This file is part of the project AqDiagram.
 * AqDiagram (c) by 2025 Martin Preuss, all rights reserved.
 *
 * The license for this file can be found in the file COPYING which you
 * should have received along with this file.
 ****************************************************************************/

#ifndef AQDG_GRAPH_W_AXIS_H
#define AQDG_GRAPH_W_AXIS_H

#include <aqdiagram/graph/w_graph.h>



#ifdef __cplusplus
extern "C" {
#endif



AQDG_API AQDG_OBJECT *AQDG_AxisWidget_new(AQDG_OBJECT *parent, uint32_t options, AQDG_OBJECT *graphObject, int axisIndex);

AQDG_API AQDG_OBJECT *AQDG_AxisWidget_GetGraphObject(const AQDG_OBJECT *o);
AQDG_API int AQDG_AxisWidget_GetAxisIndex(const AQDG_OBJECT *o);


AQDG_API double AQDG_AxisWidget_GetMinValue(const AQDG_OBJECT *o);
AQDG_API void AQDG_AxisWidget_SetMinValue(AQDG_OBJECT *o, double v);

AQDG_API double AQDG_AxisWidget_GetMaxValue(const AQDG_OBJECT *o);
AQDG_API void AQDG_AxisWidget_SetMaxValue(AQDG_OBJECT *o, double v);

AQDG_API int AQDG_AxisWidget_GetScaleSize(const AQDG_OBJECT *o);
AQDG_API void AQDG_AxisWidget_SetScaleSize(AQDG_OBJECT *o, int i);


AQDG_API void AQDG_AxisWidget_HideCollidingChildren(AQDG_OBJECT *o);
AQDG_API void AQDG_AxisWidget_UnhideAllChildren(AQDG_OBJECT *o);



#ifdef __cplusplus
}
#endif



#endif

