51 lines
1.4 KiB
C
51 lines
1.4 KiB
C
#ifndef LSTFLOW_DEFINED
|
|
#define LSTFLOW_DEFINED
|
|
|
|
#include "lsdefs.h"
|
|
|
|
typedef DWORD LSTFLOW;
|
|
|
|
#define lstflowDefault 0
|
|
|
|
#define lstflowES 0
|
|
#define lstflowEN 1
|
|
#define lstflowSE 2
|
|
#define lstflowSW 3
|
|
#define lstflowWS 4
|
|
#define lstflowWN 5
|
|
#define lstflowNE 6
|
|
#define lstflowNW 7
|
|
|
|
/*
|
|
* The eight possible text flows are listed clockwise starting with default (Latin) one.
|
|
*
|
|
* lstflowES is the coordinate system used when line grows to East and text grows to South.
|
|
* (Next letter is to the right (east) of previous, next line is created below (south) the previous.)
|
|
*
|
|
* For lstflowES positive u moves to the right, positive v moves up. (V axis is always in the direction
|
|
* of ascender, opposite to text growing direction.
|
|
*
|
|
* Notice it is not the way axes are pointing in the default Windows mapping mode MM_TEXT.
|
|
* In MM_TEXT vertical (y) axis increase from top to bottom,
|
|
* in lstflowES vertical (v) axis increase from bottom to top.
|
|
*/
|
|
|
|
#define fUDirection 0x00000004L
|
|
#define fVDirection 0x00000001L
|
|
#define fUVertical 0x00000002L
|
|
|
|
/*
|
|
* The three bits that constitute lstflow happens to have well defined meanings.
|
|
*
|
|
* Middle bit: on for vertical writing, off for horizontal.
|
|
* First (low value) bit: "on" means v-axis points right or down (positive).
|
|
* Third bit: "off" means u-axis points right or down (positive).
|
|
*
|
|
* See examples of usage in lstfset.c
|
|
*
|
|
*/
|
|
|
|
|
|
#endif /* !LSTFLOW_DEFINED */
|
|
|