# :stopdoc:
# This file is automatically generated by the WXRuby3 documentation
# generator. Do not alter this file.
# :startdoc:
module Wx
# A {Wx::DataFormat} is an encapsulation of a platform-specific format handle which is used by the system for the clipboard and drag and drop operations.
# The applications are usually only interested in, for example, pasting data from the clipboard only if the data is in a format the program understands and a data format is something which uniquely identifies this format.
# On the system level, a data format is usually just a number (CLIPFORMAT under Windows or Atom under X11, for example) and the standard formats are, indeed, just numbers which can be implicitly converted to {Wx::DataFormat}. The standard formats are:
#
# {Wx::DataFormatId::DF_INVALID}
# An invalid format - used as default argument for functions taking a {Wx::DataFormat} argument sometimes.
#
# {Wx::DF_TEXT}
# Text format ({Wx::String}).
#
# {Wx::DF_BITMAP}
# A bitmap ({Wx::Bitmap}).
#
# {Wx::DF_METAFILE}
# A metafile ({Wx::Metafile}, Windows only).
#
# {Wx::DF_UNICODETEXT}
# Unicode text format ({Wx::String}).
#
# {Wx::DF_FILENAME}
# A list of filenames.
#
# {Wx::DataFormatId::DF_HTML}
# An HTML string. This is currently only valid on Mac and MSW.
#
# {Wx::DataFormatId::DF_PNG}
# A PNG file. This is valid only on MSW. This constant is available since wxWidgets 3.1.5.
#
# As mentioned above, these standard formats may be passed to any function taking {Wx::DataFormat} argument because {Wx::DataFormat} has an implicit conversion from them (or, to be precise from the type {Wx::DataFormat::NativeFormat} which is the type used by the underlying platform for data formats).
# Aside the standard formats, the application may also use custom formats which are identified by their names (strings) and not numeric identifiers. Although internally custom format must be created (or registered) first, you shouldn't care about it because it is done automatically the first time the {Wx::DataFormat} object corresponding to a given format name is created. The only implication of this is that you should avoid having global {Wx::DataFormat} objects with non-default constructor because their constructors are executed before the program has time to perform all necessary initialisations and so an attempt to do clipboard format registration at this time will usually lead to a crash!
# ===
#
# Category: Clipboard and Drag & Drop
# @see Drag and Drop Overview
# @see Drag & Drop Sample
# @see Wx::DataObject
#
#
class DataFormat < ::Object
# @overload initialize(format=Wx::DataFormatId::DF_INVALID)
# Constructs a data format object for one of the standard data formats or an empty data object (use {Wx::DataFormat#set_type} or {Wx::DataFormat#set_id} later in this case).
# {Wx::Perl} Note: In {Wx::Perl} use Wx::Bitmap->newNative(format).
# @param format [DataFormatId]
# @return [DataFormat]
# @overload initialize(format)
# Constructs a data format object for a custom format identified by its name format.
# {Wx::Perl} Note: In {Wx::Perl} use Wx::Bitmap->newUser(format).
# @param format [String]
# @return [DataFormat]
def initialize(*args) end
# Returns the name of a custom format (this function will fail for a standard format).
# @return [String]
def get_id; end
alias_method :id, :get_id
# Sets the format to be the custom format identified by the given name.
# @param format [String]
# @return [void]
def set_id(format) end
alias_method :id=, :set_id
# Sets the format to the given value, which should be one of {Wx::DF_XXX} constants.
# @param type [DataFormatId]
# @return [void]
def set_type(type) end
alias_method :type=, :set_type
# Returns true if the formats are equal.
# @param format [Wx::DataFormat]
# @return [true,false]
def ==(format) end
#
# @return [typedef unsigned short]
def native_format; end
#
# @param val [typedef unsigned short]
# @return [void]
def native_format=(val); end
end # DataFormat
end