summaryrefslogtreecommitdiff
path: root/iup/srccontrols/matrix/iupmat_aux.h
blob: 01c77f1bcf350b26130b25dfa89fffa59f3e8f42 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
/** \file
 * \brief iupmatrix control
 * auxiliary functions.
 *
 * See Copyright Notice in "iup.h"
 */
 
#ifndef __IUPMAT_AUX_H 
#define __IUPMAT_AUX_H

#ifdef __cplusplus
extern "C" {
#endif

int   iupMatrixAuxIsFullVisibleLast(ImatLinColData *p);
int   iupMatrixAuxIsCellStartVisible(Ihandle* ih, int lin, int col);
int   iupMatrixAuxIsCellVisible(Ihandle* ih, int lin, int col);
void  iupMatrixAuxGetVisibleCellDim   (Ihandle* ih, int lin, int col, int* x, int* y, int* w, int* h);

void  iupMatrixAuxCalcSizes(Ihandle* ih);

void iupMatrixAuxAdjustFirstFromLast(ImatLinColData* p);
void iupMatrixAuxAdjustFirstFromScrollPos(ImatLinColData* p, int scroll_pos);
void  iupMatrixAuxUpdateScrollPos(Ihandle* ih, int m);
void  iupMatrixAuxUpdateLast(ImatLinColData *p);

int   iupMatrixAuxGetColumnWidth(Ihandle* ih, int col);
int   iupMatrixAuxGetLineHeight (Ihandle* ih, int lin);

int   iupMatrixAuxGetLinColFromXY    (Ihandle* ih, int x, int y, int* l, int* c);

int   iupMatrixAuxCallLeaveCellCb    (Ihandle* ih);
void  iupMatrixAuxCallEnterCellCb    (Ihandle* ih);
int   iupMatrixAuxCallEditionCbLinCol(Ihandle* ih, int lin, int col, int mode, int update);

#ifdef __cplusplus
}
#endif

#endif