windows-nt/Source/XPSP1/NT/windows/richedit/lsinc/lstflow.h
2020-09-26 16:20:57 +08:00

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 */