xtd 0.2.0
Loading...
Searching...
No Matches
icon.hpp
Go to the documentation of this file.
1
4#pragma once
5#include "../drawing_export.hpp"
6#include "bitmap.hpp"
7#include <xtd/iequatable>
8#include <xtd/object>
9#include <xtd/string>
10#include <cstdint>
11#include <memory>
12
14namespace xtd {
16 namespace drawing {
28 class drawing_export_ icon : public xtd::object, public xtd::iequatable<icon> {
29 struct data;
30
31 public:
33
35 static icon empty;
37
39
48 explicit icon(const xtd::string& filename);
54 icon(const xtd::string& filename, const xtd::drawing::size& size);
61 icon(const xtd::string& filename, int32 width, int32 height);
69 explicit icon(std::istream& stream);
73 icon(std::istream& stream, const xtd::drawing::size& size);
78 icon(std::istream& stream, int32 width, int32 height);
87 explicit icon(const char* const* bits);
92 icon(const char* const* bits, const xtd::drawing::size& size);
98 icon(const char* const* bits, int32 width, int32 height);
103 icon(const icon& original, const xtd::drawing::size& size);
109 icon(const icon& original, int32 width, int32 height);
111
113 icon();
114 icon(const icon& icon) = default;
115 icon& operator =(const icon& icon) = default;
116 ~icon();
118
120
124 intptr handle() const noexcept;
125
128 int32 height() const noexcept;
129
132 const xtd::drawing::size& size() const noexcept;
133
136 int32 width() const noexcept;
138
140
142 using object::equals;
143 bool equals(const icon& icon) const noexcept override;
144
147 void save(const xtd::string& filename) const;
150 void save(std::ostream& stream) const;
151
155 xtd::drawing::bitmap to_bitmap() const;
156
159 xtd::string to_string() const noexcept override;
161
166 static icon from_handle(intptr handle);
167
169
174 static icon from_bitmap(const xtd::drawing::bitmap& bitmap);
176
177 private:
178 explicit icon(const bitmap& bitmap);
179
180 xtd::sptr<data> data_;
181 };
182 }
183}
Contains xtd::drawing::bitmap class.
Represents text as a sequence of character units.
Definition basic_string.hpp:79
Encapsulates a GDI+ bitmap, which consists of the pixel data for a graphics image and its attributes....
Definition bitmap.hpp:26
Represents a Windows icon, which is a small bitmap image that is used to represent an object....
Definition icon.hpp:28
icon(const icon &original, int32 width, int32 height)
Initializes a new instance of the xtd::drawing::icon class and attempts to find a version of the icon...
icon(const xtd::string &filename, int32 width, int32 height)
Initializes a new instance of the xtd::drawing::icon class with the specified width and height from t...
icon(const char *const *bits)
Initializes a new instance of the xtd::drawing::icon class from the specified data.
icon(const char *const *bits, const xtd::drawing::size &size)
Initializes a new instance of the xtd::drawing::icon class of the specified size from the specified d...
icon(const icon &original, const xtd::drawing::size &size)
Initializes a new instance of the xtd::drawing::icon class and attempts to find a version of the icon...
icon(std::istream &stream, const xtd::drawing::size &size)
Initializes a new instance of the xtd::drawing::icon class of the specified size from the specified s...
icon(const char *const *bits, int32 width, int32 height)
Initializes a new instance of the xtd::drawing::icon class from the specified data and with the speci...
intptr handle() const noexcept
Gets the handle of this icon. This is not a copy of the handle; do not free it.
icon(const xtd::string &filename, const xtd::drawing::size &size)
Initializes a new instance of the xtd::drawing::icon class of the specified size from the specified f...
icon(std::istream &stream, int32 width, int32 height)
Initializes a new instance of the xtd::drawing::icon class from the specified data stream and with th...
icon(std::istream &stream)
Initializes a new instance of the xtd::drawing::icon class from the specified data stream.
icon(const xtd::string &filename)
Initializes a new instance of the xtd::drawing::icon class from the specified file name.
Stores an ordered pair of integers, which specify a height and width.
Definition size.hpp:31
Defines a generalized method that a value type or class implements to create a type-specific method f...
Definition iequatable.hpp:22
Supports all classes in the xtd class hierarchy and provides low-level services to derived classes....
Definition object.hpp:42
#define drawing_export_
Define shared library export.
Definition drawing_export.hpp:13
int32_t int32
Represents a 32-bit signed integer.
Definition int32.hpp:23
intmax_t intptr
Represent a pointer or a handle.
Definition intptr.hpp:23
std::shared_ptr< type_t > sptr
The xtd::sptr object is a shared pointer.
Definition sptr.hpp:25
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition xtd_about_box.hpp:10