You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
114 lines
2.8 KiB
114 lines
2.8 KiB
// Copyright 2014 PDFium Authors. All rights reserved. |
|
// Use of this source code is governed by a BSD-style license that can be |
|
// found in the LICENSE file. |
|
|
|
// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com |
|
|
|
#ifndef XFA_FDE_IFDE_TXTEDTENGINE_H_ |
|
#define XFA_FDE_IFDE_TXTEDTENGINE_H_ |
|
|
|
#include "core/fxge/fx_dib.h" |
|
#include "xfa/fgas/font/cfgas_fontmgr.h" |
|
|
|
class CFDE_TxtEdtEngine; |
|
class IFDE_TxtEdtPage; |
|
class CFWL_Edit; |
|
|
|
#define FDE_TEXTEDITMODE_MultiLines (1L << 0) |
|
#define FDE_TEXTEDITMODE_AutoLineWrap (1L << 1) |
|
#define FDE_TEXTEDITMODE_ReadOnly (1L << 2) |
|
#define FDE_TEXTEDITMODE_LimitArea_Vert (1L << 3) |
|
#define FDE_TEXTEDITMODE_LimitArea_Horz (1L << 4) |
|
#define FDE_TEXTEDITMODE_Validate (1L << 8) |
|
#define FDE_TEXTEDITMODE_Password (1L << 9) |
|
|
|
#define FDE_TEXTEDITALIGN_Left 0 |
|
#define FDE_TEXTEDITALIGN_Center (1L << 0) |
|
#define FDE_TEXTEDITALIGN_Right (2L << 0) |
|
#define FDE_TEXTEDITALIGN_Normal (1L << 3) |
|
#define FDE_TEXTEDITALIGN_Justified (1L << 4) |
|
|
|
#define FDE_TEXTEDITLAYOUT_CombText (1L << 4) |
|
#define FDE_TEXTEDITLAYOUT_LastLineHeight (1L << 8) |
|
|
|
enum FDE_TXTEDTMOVECARET { |
|
MC_MoveNone = 0, |
|
MC_Left, |
|
MC_Right, |
|
MC_Up, |
|
MC_Down, |
|
MC_WordBackward, |
|
MC_WordForward, |
|
MC_LineStart, |
|
MC_LineEnd, |
|
MC_ParagStart, |
|
MC_ParagEnd, |
|
MC_PageUp, |
|
MC_PageDown, |
|
MC_Home, |
|
MC_End, |
|
}; |
|
|
|
enum FDE_TXTEDT_MODIFY_RET { |
|
FDE_TXTEDT_MODIFY_RET_F_Tab = -6, |
|
FDE_TXTEDT_MODIFY_RET_F_Locked = -5, |
|
FDE_TXTEDT_MODIFY_RET_F_Invalidate = -4, |
|
FDE_TXTEDT_MODIFY_RET_F_Boundary = -3, |
|
FDE_TXTEDT_MODIFY_RET_F_Full = -2, |
|
FDE_TXTEDT_MODIFY_RET_F_Normal = -1, |
|
FDE_TXTEDT_MODIFY_RET_S_Normal = 0, |
|
FDE_TXTEDT_MODIFY_RET_S_Full = 1, |
|
FDE_TXTEDT_MODIFY_RET_S_Part = 2, |
|
FDE_TXTEDT_MODIFY_RET_S_Empty = 3, |
|
FDE_TXTEDT_MODIFY_RET_T_Tab = 4, |
|
}; |
|
|
|
enum FDE_TXTEDIT_LINEEND { |
|
FDE_TXTEDIT_LINEEND_Auto, |
|
FDE_TXTEDIT_LINEEND_CRLF, |
|
FDE_TXTEDIT_LINEEND_CR, |
|
FDE_TXTEDIT_LINEEND_LF, |
|
}; |
|
|
|
struct FDE_TXTEDTPARAMS { |
|
FDE_TXTEDTPARAMS(); |
|
~FDE_TXTEDTPARAMS(); |
|
|
|
FX_FLOAT fPlateWidth; |
|
FX_FLOAT fPlateHeight; |
|
int32_t nLineCount; |
|
uint32_t dwLayoutStyles; |
|
uint32_t dwAlignment; |
|
uint32_t dwMode; |
|
CFX_RetainPtr<CFGAS_GEFont> pFont; |
|
FX_FLOAT fFontSize; |
|
FX_ARGB dwFontColor; |
|
FX_FLOAT fLineSpace; |
|
FX_FLOAT fTabWidth; |
|
bool bTabEquidistant; |
|
FX_WCHAR wDefChar; |
|
FX_WCHAR wLineBreakChar; |
|
int32_t nCharRotation; |
|
int32_t nLineEnd; |
|
int32_t nHorzScale; |
|
FX_FLOAT fCharSpace; |
|
CFWL_Edit* pEventSink; |
|
}; |
|
|
|
enum FDE_TXTEDT_TEXTCHANGE_TYPE { |
|
FDE_TXTEDT_TEXTCHANGE_TYPE_Insert = 0, |
|
FDE_TXTEDT_TEXTCHANGE_TYPE_Delete, |
|
FDE_TXTEDT_TEXTCHANGE_TYPE_Replace, |
|
}; |
|
|
|
struct FDE_TXTEDT_TEXTCHANGE_INFO { |
|
FDE_TXTEDT_TEXTCHANGE_INFO(); |
|
~FDE_TXTEDT_TEXTCHANGE_INFO(); |
|
|
|
int32_t nChangeType; |
|
CFX_WideString wsInsert; |
|
CFX_WideString wsDelete; |
|
CFX_WideString wsPrevText; |
|
}; |
|
|
|
#endif // XFA_FDE_IFDE_TXTEDTENGINE_H_
|
|
|