/**************************************************************
 * 
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 * 
 *************************************************************/



interface TextDrawText
[
	uuid = "CA0C4280-293D-11D1-89CB-008029E4B0B1"
]
{
	SID_SELECTALL  // api:
	[
		ExecMethod = ExecDraw ;
		StateMethod = NoState ;
	]

	SID_CUT  // api:
	[
		ExecMethod = ExecClpbrd ;
		StateMethod = StateClpbrd ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_COPY // api:
	[
		ExecMethod = ExecClpbrd ;
		StateMethod = StateClpbrd ;
	]

	SID_PASTE   // api:
	[
		ExecMethod = ExecClpbrd ;
		StateMethod = StateClpbrd ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

    SID_PASTE_SPECIAL  // api:
	[
		StateMethod = StateClpbrd ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

        SID_CLIPBOARD_FORMAT_ITEMS  // api:
        [
                StateMethod = StateClpbrd ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]

	FN_ESCAPE // api:
	[
		ExecMethod = ExecDraw ;
	]

	SID_UNDO // api:
	[
		ExecMethod = ExecUndo ;
		StateMethod = StateUndo ;

                ToolBoxConfig , MenuConfig , AccelConfig;
	]

	SID_REDO // api:
	[
		ExecMethod = ExecUndo ;
		StateMethod = StateUndo ;
	]

	SID_REPEAT // api:
	[
		ExecMethod = ExecUndo ;
		StateMethod = StateUndo ;
	]
	SID_GETUNDOSTRINGS
	[
		StateMethod = StateUndo ;
	]

	SID_GETREDOSTRINGS
	[
		StateMethod = StateUndo ;
	]

	FN_FORMAT_RESET  // api:
	[
		ExecMethod = ExecDraw ;
		StateMethod = NoState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_CHARMAP // api:
	[
		ExecMethod = ExecDraw ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	FN_INSERT_STRING
	[
			ExecMethod = ExecDraw ;
			StateMethod = NoState ;
			DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

    FN_INSERT_SOFT_HYPHEN // status(final|play)
        [
                ExecMethod = ExecDraw ;
                StateMethod = NoState ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]
        FN_INSERT_HARDHYPHEN // status()
        [
                ExecMethod = ExecDraw ;
                StateMethod = NoState ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]
        FN_INSERT_HARD_SPACE // status(final|play)
        [
                ExecMethod = ExecDraw ;
                StateMethod = NoState ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]
    SID_INSERT_RLM
    [
                ExecMethod = ExecDraw ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_INSERT_LRM
    [
		ExecMethod = ExecDraw ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_INSERT_ZWSP
    [
		ExecMethod = ExecDraw ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_INSERT_ZWNBSP
    [
		ExecMethod = ExecDraw ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]

	SID_ATTR_CHAR_WEIGHT // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_POSTURE // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_UNDERLINE // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_OVERLINE // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_CONTOUR
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_SHADOWED
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_STRIKEOUT
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_LRSPACE  //for indent
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
	]
	
	SID_ATTR_PARA_LINESPACE // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
	]
	
	SID_ATTR_PARA_ULSPACE
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
	]

	SID_ATTR_PARA_ADJUST_LEFT // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_ADJUST_CENTER // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_ADJUST_RIGHT // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_ADJUST_BLOCK // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_LINESPACE_10 // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_LINESPACE_15 // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_PARA_LINESPACE_20 // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_PARA_LEFT_TO_RIGHT
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_ATTR_PARA_RIGHT_TO_LEFT
    [
        ExecMethod = Execute ;
        StateMethod = GetState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]

    	SID_TEXTDIRECTION_LEFT_TO_RIGHT
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TEXTDIRECTION_TOP_TO_BOTTOM
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_VERTICALTEXT_STATE
	[
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_CTLFONT_STATE
    [
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
	SID_CHAR_DLG  // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_CHAR_DLG_EFFECT
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_CHAR_DLG_FOR_PARAGRAPH
    [
        ExecMethod = Execute ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]

	SID_PARA_DLG // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	FN_SET_SUPER_SCRIPT
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	FN_SET_SUB_SCRIPT
	[
		ExecMethod = Execute ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FONTWORK  // api:
	[
		ExecMethod = ExecFontWork ;
		StateMethod = StateFontWork ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]


	SID_FORMTEXT_STYLE // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_ADJUST  // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_DISTANCE // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_START  // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]


	SID_FORMTEXT_MIRROR // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]


	SID_FORMTEXT_HIDEFORM   // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_OUTLINE // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_SHADOW  // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_SHDWCOLOR // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_SHDWXVAL  // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_FORMTEXT_SHDWYVAL  // api:
	[
		ExecMethod = ExecFormText ;
		StateMethod = GetFormTextState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

    SID_THESAURUS // api:
	[
		ExecMethod = ExecDrawLingu ;
		StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

        SID_HANGUL_HANJA_CONVERSION  // api:
        [
                ExecMethod = ExecDrawLingu ;
                StateMethod = GetState ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]

        SID_CHINESE_CONVERSION  // api:
        [
                ExecMethod = ExecDrawLingu ;
                StateMethod = GetState ;
                DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
        ]

	FN_DRAWTEXT_ATTR_DLG
	[
		ExecMethod = ExecDraw ;
		StateMethod = NoState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_STYLE_CATALOG  // ole(no) api(play/rec)
	[
		StateMethod = StateDisableItems ;
	]

	SID_AUTOSPELL_CHECK
	[
		ExecMethod = Execute;
		StateMethod = GetDrawTxtCtrlState
	]

	SID_SEARCH_DLG
	[
		StateMethod = StateDisableItems
	]

	SID_HYPERLINK_SETLINK  // status()
	[
		ExecMethod = Execute ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_HYPERLINK_GETLINK // status()
	[
		StateMethod = StateInsert ;
	]
    SID_TRANSLITERATE_SENTENCE_CASE
    [
        ExecMethod = ExecTransliteration;
        StateMethod = NoState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_TRANSLITERATE_TITLE_CASE
    [
        ExecMethod = ExecTransliteration;
        StateMethod = NoState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
    SID_TRANSLITERATE_TOGGLE_CASE
    [
        ExecMethod = ExecTransliteration;
        StateMethod = NoState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
    ]
	SID_TRANSLITERATE_UPPER
	[
		ExecMethod = ExecTransliteration;
		StateMethod = NoState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TRANSLITERATE_LOWER
	[
		ExecMethod = ExecTransliteration;
		StateMethod = NoState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TRANSLITERATE_HALFWIDTH
	[
		ExecMethod = ExecTransliteration;
        StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TRANSLITERATE_FULLWIDTH
	[
		ExecMethod = ExecTransliteration;
        StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TRANSLITERATE_HIRAGANA
	[
		ExecMethod = ExecTransliteration;
        StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TRANSLITERATE_KATAGANA
	[
		ExecMethod = ExecTransliteration;
        StateMethod = GetState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    
    SID_LANGUAGE_STATUS
    [
        ExecMethod = Execute;
        StateMethod = GetState;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";  // e.g. disable for read-only documents
    ]

    SID_THES
    [
        ExecMethod = Execute;
        StateMethod = GetState;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";  // e.g. disable for read-only documents
    ]

   	FN_FORMAT_FOOTNOTE_DLG // status()
	[
		ExecMethod = Execute ;
	]
	
	SID_OPEN_XML_FILTERSETTINGS // ole : no, status : ?
    [
        ExecMethod = Execute ;
    ]

    FN_WORDCOUNT_DIALOG
    [
        ExecMethod = Execute;
    ]

   	FN_NUMBERING_OUTLINE_DLG   // status(final|play)
	[
		ExecMethod = Execute ;
	]

    SID_INSERT_GRAPHIC
	[
		StateMethod = StateDisableItems ;
	]
	SID_TWAIN_SELECT
	[
		StateMethod = StateDisableItems ;
	]
	
	SID_TWAIN_TRANSFER
	[
		StateMethod = StateDisableItems ;
	]

	SID_TABLE_VERT_NONE
	[
		ExecMethod = ExecDraw ;
		StateMethod = GetStatePropPanelAttr ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TABLE_VERT_CENTER
	[
		ExecMethod = ExecDraw ;
		StateMethod = GetStatePropPanelAttr ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_TABLE_VERT_BOTTOM
	[
		ExecMethod = ExecDraw ;
		StateMethod = GetStatePropPanelAttr ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
}

interface TextDrawFont
[ uuid = "074C35E0-11EF-101D-9757-6E74207A7520"; ]
{
	SID_ATTR_CHAR_FONT // status()
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_FONTHEIGHT // status()
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

	SID_ATTR_CHAR_COLOR // api:
	[
		ExecMethod = Execute ;
		StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_CHAR_WORDLINEMODE // status(final|play)
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_CHAR_RELIEF
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_CHAR_LANGUAGE // status(final|play)
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_CHAR_KERNING // status(final|play)
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
    SID_ATTR_CHAR_AUTOKERN // // status(final|play)
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
	SID_ATTR_CHAR_ESCAPEMENT // status(final|play)
	[
        ExecMethod = Execute ;
        StateMethod = GetDrawTxtCtrlState ;
        DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]

    SID_ATTR_CHAR_SCALEWIDTH // status()
	[
		ExecMethod = Execute ;
		DisableFlags="SW_DISABLE_ON_PROTECTED_CURSOR";
	]
}



shell SwDrawTextShell
{
		import TextDrawText[Automation];
		import TextDrawFont ".DrawFont";
}