32 lines
986 B
C++
32 lines
986 B
C++
/*
|
|
* Deskflow -- mouse and keyboard sharing utility
|
|
* SPDX-FileCopyrightText: (C) 2012 - 2016 Symless Ltd.
|
|
* SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
|
|
* SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "platform/XWindowsClipboard.h"
|
|
|
|
//! Convert to/from UTF-8 encoding
|
|
class XWindowsClipboardUTF8Converter : public IXWindowsClipboardConverter
|
|
{
|
|
public:
|
|
/*!
|
|
\c name is converted to an atom and that is reported by getAtom().
|
|
*/
|
|
XWindowsClipboardUTF8Converter(Display *display, const char *name, bool normalize = false);
|
|
~XWindowsClipboardUTF8Converter() override = default;
|
|
|
|
// IXWindowsClipboardConverter overrides
|
|
IClipboard::Format getFormat() const override;
|
|
Atom getAtom() const override;
|
|
int getDataSize() const override;
|
|
std::string fromIClipboard(const std::string &) const override;
|
|
std::string toIClipboard(const std::string &) const override;
|
|
|
|
private:
|
|
Atom m_atom;
|
|
bool m_normalize;
|
|
};
|