fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / vcl / inc / unx / XIM.h
blob8826148ee5bbdf18c1521a6910d3cc019ba0a668
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 _XIM_h
20 #define _XIM_h
22 #include <X11/Xlib.h>
23 #include <X11/Xresource.h>
25 extern Status XCloseIM(XIM);
27 #ifndef XIMCallback1
28 typedef int (*XIMProc1)(XIC, XPointer, XPointer);
29 typedef struct {
30 XPointer client_data;
31 XIMProc1 callback;
32 } XIMCallback1;
33 #endif
35 typedef struct _XIMAnnotation {
36 int start_position;
37 int end_position;
38 XPointer data;
39 } XIMAnnotation;
42 XIMUText: XIMText extention for UTF16
44 typedef struct _XIMUnicodeText {
45 unsigned short length;
46 XIMFeedback *feedback;
47 Bool encoding_is_wchar;
48 union {
49 char *multi_byte;
50 wchar_t *wide_char;
51 unsigned short *utf16_char;
52 } string;
53 unsigned int count_annotations;
54 XIMAnnotation *annotations;
55 } XIMUnicodeText;
57 /* lookup choice */
58 typedef enum {
59 XIMDrawUpHorizontally = 0 ,
60 XIMDrawUpVertically = 1
61 } XIMDrawUpDirection ;
63 typedef struct _XIMLookupStartCallbackStruct {
64 int choice_per_window; /* Number of choices can be display
65 * in the region
67 int nrows;
68 int ncolumns;
69 XIMDrawUpDirection draw_up_direction;
70 } XIMLookupStartCallbackStruct;
72 typedef struct _XIMUnicodeChoiceObject {
73 XIMUnicodeText *label;
74 XIMUnicodeText *value;
75 } XIMUnicodeChoiceObject;
77 typedef struct _XIMLookupDrawCallbackStruct {
78 XIMUnicodeChoiceObject *choices; /* the lookup choices */
79 int n_choices; /* Total number of lookup choices */
80 int first_index;
81 int last_index;
82 int current_index;
83 XIMUnicodeText *title;
84 } XIMLookupDrawCallbackStruct;
86 /* Unicode Subset */
87 typedef enum {
88 XIMKatakana, XIMHanzi
89 } XIMUnicodeCharacterSubsetID;
91 typedef struct _XIMUncodeSubset {
92 XIMUnicodeCharacterSubsetID index;
93 XIMUnicodeCharacterSubsetID subset_id;
94 char *name;
95 Bool is_active;
96 } XIMUnicodeCharacterSubset;
98 typedef struct _XIMUncodeSubsets {
99 unsigned short count_subsets;
100 XIMUnicodeCharacterSubset *supported_subsets;
101 } XIMUnicodeCharacterSubsets;
103 typedef struct _XIMSwitchIMNotifyCallbackStruct {
104 XIMUnicodeCharacterSubset *from;
105 XIMUnicodeCharacterSubset *to;
106 } XIMSwitchIMNotifyCallbackStruct;
108 /* XIC attributes for multilingual IM extension */
110 #define XNUnicodeCharacterSubset "UnicodeChararcterSubset"
112 #endif
114 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */