diff options
-rw-r--r-- | vcl/Library_vclplug_gen.mk | 1 | ||||
-rw-r--r-- | vcl/inc/unx/XIM.h | 17 | ||||
-rw-r--r-- | vcl/unx/generic/app/i18n_wrp.cxx | 251 |
3 files changed, 0 insertions, 269 deletions
diff --git a/vcl/Library_vclplug_gen.mk b/vcl/Library_vclplug_gen.mk index 845c568bfdb1..88e997b0c7a8 100644 --- a/vcl/Library_vclplug_gen.mk +++ b/vcl/Library_vclplug_gen.mk @@ -68,7 +68,6 @@ $(eval $(call gb_Library_add_exception_objects,vclplug_gen,\ vcl/unx/generic/app/i18n_im \ vcl/unx/generic/app/i18n_keysym \ vcl/unx/generic/app/i18n_status \ - vcl/unx/generic/app/i18n_wrp \ vcl/unx/generic/app/i18n_xkb \ vcl/unx/generic/app/keysymnames \ vcl/unx/generic/app/randrwrapper \ diff --git a/vcl/inc/unx/XIM.h b/vcl/inc/unx/XIM.h index d12426456cb7..8826148ee5bb 100644 --- a/vcl/inc/unx/XIM.h +++ b/vcl/inc/unx/XIM.h @@ -22,11 +22,6 @@ #include <X11/Xlib.h> #include <X11/Xresource.h> -#ifdef __cplusplus -extern "C" -#endif -XIM XvaOpenIM( Display*, XrmDatabase, char*, char*, ... ); - extern Status XCloseIM(XIM); #ifndef XIMCallback1 @@ -110,22 +105,10 @@ typedef struct _XIMSwitchIMNotifyCallbackStruct { XIMUnicodeCharacterSubset *to; } XIMSwitchIMNotifyCallbackStruct; -/* XIM attributes for multilingual IM extension */ -#define XNMultiLingualInput "multiLingualInput" -#define XNQueryUnicodeCharacterSubset "unicodeCharacterSubset" - /* XIC attributes for multilingual IM extension */ #define XNUnicodeCharacterSubset "UnicodeChararcterSubset" -#define XNSwitchIMNotifyCallback "switchIMNotifyCallback" -#define XNCommitStringCallback "commitStringCallback" -#define XNForwardEventCallback "forwardEventCallback" - -#define XNLookupStartCallback "lookupStartCallback" -#define XNLookupDrawCallback "lookupDrawCallback" -#define XNLookupDoneCallback "lookupDoneCallback" - #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/vcl/unx/generic/app/i18n_wrp.cxx b/vcl/unx/generic/app/i18n_wrp.cxx deleted file mode 100644 index e152135bc914..000000000000 --- a/vcl/unx/generic/app/i18n_wrp.cxx +++ /dev/null @@ -1,251 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/* - * This file is part of the LibreOffice project. - * - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. - * - * This file incorporates work covered by the following license notice: - * - * 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 . - */ - - -struct XIMArg -{ - char *name; - char *value; -}; - -#if defined(SOLARIS) && !defined(__GNUC__) -#include <varargs.h> -#else -#include <stdarg.h> -#endif -#include <sal/alloca.h> - -#include <string.h> -#include <dlfcn.h> - -#include <X11/Xlib.h> -#include <X11/Xlibint.h> -#include "unx/XIM.h" - -#define XIIIMP_LIB "xiiimp.so.2" - -#ifdef SOLARIS -#define XIIIMP_PATH "/usr/openwin/lib/locale/common/" XIIIMP_LIB -#else /* Linux */ -#define XIIIMP_PATH "/usr/lib/im/" XIIIMP_LIB -#endif - -extern "C" { -typedef XIM (*OpenFunction)(Display*, XrmDatabase, char*, char*, XIMArg*); -} - -/* global variables */ -static void *g_dlmodule = 0; -static OpenFunction g_open_im = (OpenFunction)NULL; - -/* utility function to transform vararg list into an array of XIMArg */ - -int -XvaCountArgs( XIMArg *pInArgs ) -{ - int nArgs = 0; - char *pName, *pValue; - - while ( (pName = pInArgs->name) != NULL ) - { - pValue = pInArgs->value; - - if ( strcmp(pName, XNVaNestedList) == 0 ) - { - nArgs += XvaCountArgs( (XIMArg*)pValue ); - } - else - { - nArgs += 1; - } - pInArgs++; - } - - return nArgs; -} - -int -XvaCountArgs( va_list pInArgs ) -{ - int nArgs = 0; - char *pName, *pValue; - - while ( (pName = va_arg(pInArgs, char*)) != NULL) - { - pValue = va_arg(pInArgs, char*); - - if ( strcmp(pName, XNVaNestedList) == 0 ) - { - nArgs += XvaCountArgs( (XIMArg*)pValue ); - } - else - { - nArgs += 1; - } - } - - return nArgs; -} - -XIMArg* -XvaGetArgs( XIMArg *pInArgs, XIMArg *pOutArgs ) -{ - char *pName, *pValue; - - while ( (pName = pInArgs->name) != NULL ) - { - pValue = pInArgs->value; - - if ( strcmp(pName, XNVaNestedList) == 0 ) - { - pOutArgs = XvaGetArgs( (XIMArg*)pValue, pOutArgs ); - } - else - { - pOutArgs->name = pName; - pOutArgs->value = pValue; - pOutArgs++; - } - pInArgs++; - } - - return pOutArgs; -} - -void -XvaGetArgs( va_list pInArgs, XIMArg *pOutArgs ) -{ - char *pName, *pValue; - - while ((pName = va_arg(pInArgs, char*)) != NULL) - { - pValue = va_arg(pInArgs, char*); - - if ( strcmp(pName, XNVaNestedList) == 0 ) - { - pOutArgs = XvaGetArgs( (XIMArg*)pValue, pOutArgs ); - } - else - { - pOutArgs->name = pName; - pOutArgs->value = pValue; - pOutArgs++; - } - } - - pOutArgs->name = NULL; - pOutArgs->value = NULL; -} - - -/* Puplic functions */ - -#ifdef __cplusplus -extern "C" -#endif -XIM -XvaOpenIM(Display *display, XrmDatabase rdb, - char *res_name, char *res_class, ...) -{ - XIM xim = (XIM)0; - va_list variable; - int total_count = 0; - - /* - * so count the stuff dangling here - */ - -#if defined(SOLARIS) && !defined(__GNUC__) - va_start(variable); -#else - va_start(variable, res_class); -#endif - total_count = XvaCountArgs(variable); - va_end(variable); - - if (total_count > 0) - { - /* call a new open IM method */ - - XIMArg* args = (XIMArg*)alloca( (total_count + 1) * sizeof(XIMArg) ); - - /* - * now package it up so we can set it along - */ -#if defined(SOLARIS) && !defined(__GNUC__) - va_start(variable); -#else - va_start(variable, res_class); -#endif - XvaGetArgs( variable, args ); - va_end(variable); - - if (!g_dlmodule) - { - g_dlmodule = dlopen(XIIIMP_LIB, RTLD_LAZY); - if(!g_dlmodule) - { - g_dlmodule = dlopen(XIIIMP_PATH, RTLD_LAZY); - if (!g_dlmodule) - goto legacy_XIM; - } - g_open_im = (OpenFunction)(long)dlsym(g_dlmodule, "__XOpenIM"); - if (!g_open_im) - goto legacy_XIM; - - xim = (*g_open_im)(display, (XrmDatabase)rdb, - (char*)res_name, (char *)res_class, (XIMArg*)args); - } - else - { - goto legacy_XIM; - } - } - -// in #if to prevent warning "warning: label 'legacy_XIM' defined but not used" - legacy_XIM: - - if (!xim) - xim = XOpenIM(display, rdb, res_name, res_class); - - return xim; -} - -/* - * Close the connection to the input manager, and free the XIM structure - */ - -Status XvaCloseIM(XIM) -{ - Status s = False; - - if (g_dlmodule) - { - /* assuming one XvaOpenIM call */ - dlclose(g_dlmodule); - g_dlmodule = (void*)0; - g_open_im = (OpenFunction)NULL; - s = True; - } - return (s); -} - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |