bump product version to 6.4.0.3
[LibreOffice.git] / vcl / inc / unx / XIM.h
blobd2fcd9c0ea5033a57115463b0ac8434cab424617
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_VCL_INC_UNX_XIM_H
20 #define INCLUDED_VCL_INC_UNX_XIM_H
22 #include <X11/Xlib.h>
24 #ifndef XIMCallback1
25 typedef int (*XIMProc1)(XIC, XPointer, XPointer);
26 typedef struct {
27 XPointer client_data;
28 XIMProc1 callback;
29 } XIMCallback1;
30 #endif
32 typedef struct {
33 int start_position;
34 int end_position;
35 XPointer data;
36 } XIMAnnotation;
39 XIMUText: XIMText extension for UTF16
41 typedef struct {
42 unsigned short length;
43 XIMFeedback *feedback;
44 Bool encoding_is_wchar;
45 union {
46 char *multi_byte;
47 wchar_t *wide_char;
48 unsigned short *utf16_char;
49 } string;
50 unsigned int count_annotations;
51 XIMAnnotation *annotations;
52 } XIMUnicodeText;
54 /* lookup choice */
55 typedef enum {
56 XIMDrawUpHorizontally = 0 ,
57 XIMDrawUpVertically = 1
58 } XIMDrawUpDirection ;
60 typedef struct {
61 int choice_per_window; /* Number of choices can be display
62 * in the region
64 int nrows;
65 int ncolumns;
66 XIMDrawUpDirection draw_up_direction;
67 } XIMLookupStartCallbackStruct;
69 typedef struct {
70 XIMUnicodeText *label;
71 XIMUnicodeText *value;
72 } XIMUnicodeChoiceObject;
74 typedef struct {
75 XIMUnicodeChoiceObject *choices; /* the lookup choices */
76 int n_choices; /* Total number of lookup choices */
77 int first_index;
78 int last_index;
79 int current_index;
80 XIMUnicodeText *title;
81 } XIMLookupDrawCallbackStruct;
83 /* Unicode Subset */
84 typedef enum {
85 XIMKatakana, XIMHanzi
86 } XIMUnicodeCharacterSubsetID;
88 typedef struct {
89 XIMUnicodeCharacterSubsetID index;
90 XIMUnicodeCharacterSubsetID subset_id;
91 char *name;
92 Bool is_active;
93 } XIMUnicodeCharacterSubset;
95 typedef struct {
96 unsigned short count_subsets;
97 XIMUnicodeCharacterSubset *supported_subsets;
98 } XIMUnicodeCharacterSubsets;
100 typedef struct {
101 XIMUnicodeCharacterSubset *from;
102 XIMUnicodeCharacterSubset *to;
103 } XIMSwitchIMNotifyCallbackStruct;
105 /* XIC attributes for multilingual IM extension */
107 #define XNUnicodeCharacterSubset "UnicodeChararcterSubset"
109 #endif
111 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */