16#ifndef LIEF_PE_RESOURCE_ACCELERATOR_H
17#define LIEF_PE_RESOURCE_ACCELERATOR_H
35struct pe_resource_acceltableentry;
110 return (flags_ & (int16_t)flag) != 0;
114 flags_ |= (int16_t)flag;
119 flags_ &= ~(int16_t)flag;
131 int16_t padding_ = 0;
ResourceAccelerator(const details::pe_resource_acceltableentry &)
const char * ansi_str() const
Definition ResourceAccelerator.hpp:82
int16_t ansi() const
An ANSI character value or a virtual-key code that identifies the accelerator key.
Definition ResourceAccelerator.hpp:93
ResourceAccelerator & add(FLAGS flag)
Definition ResourceAccelerator.hpp:113
ResourceAccelerator & operator=(ResourceAccelerator &&)=default
ResourceAccelerator & operator=(const ResourceAccelerator &)=default
ResourceAccelerator & remove(FLAGS flag)
Definition ResourceAccelerator.hpp:118
ResourceAccelerator(ResourceAccelerator &&)=default
uint16_t id() const
An identifier for the keyboard accelerator.
Definition ResourceAccelerator.hpp:98
ResourceAccelerator()=default
std::vector< FLAGS > flags_list() const
~ResourceAccelerator() override=default
int16_t flags() const
Describe the keyboard accelerator characteristics.
Definition ResourceAccelerator.hpp:87
friend class ResourcesManager
Definition ResourceAccelerator.hpp:39
FLAGS
From: https://docs.microsoft.com/en-us/windows/win32/menurc/acceltableentry.
Definition ResourceAccelerator.hpp:43
@ SHIFT
The accelerator is activated only if the user presses the SHIFT key. This flag applies only to virtua...
Definition ResourceAccelerator.hpp:55
@ VIRTKEY
The accelerator key is a virtual-key code. If this flag is not specified, the accelerator key is assu...
Definition ResourceAccelerator.hpp:46
@ NOINVERT
A menu item on the menu bar is not highlighted when an accelerator is used. This attribute is obsolet...
Definition ResourceAccelerator.hpp:51
@ END
The entry is last in an accelerator table.
Definition ResourceAccelerator.hpp:66
@ CONTROL
The accelerator is activated only if the user presses the CTRL key. This flag applies only to virtual...
Definition ResourceAccelerator.hpp:59
@ ALT
The accelerator is activated only if the user presses the ALT key. This flag applies only to virtual ...
Definition ResourceAccelerator.hpp:63
ResourceAccelerator(const ResourceAccelerator &)=default
void accept(Visitor &visitor) const override
bool has(FLAGS flag) const
Whether the entry has the given flag.
Definition ResourceAccelerator.hpp:109
int16_t padding() const
The number of bytes inserted to ensure that the structure is aligned on a DWORD boundary.
Definition ResourceAccelerator.hpp:104
friend std::ostream & operator<<(std::ostream &os, const ResourceAccelerator &acc)
The Resource Manager provides an enhanced API to manipulate the resource tree.
Definition ResourcesManager.hpp:38
Definition Visitor.hpp:210
#define ENABLE_BITMASK_OPERATORS(X)
Definition enums.hpp:24
const char * to_string(lief_errors err)
Definition DataDirectory.hpp:37
Namespace related to the LIEF's PE module.
Definition Abstract/Header.hpp:32
const char * to_string(CODE_PAGES e)
ACCELERATOR_CODES
From https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes.
Definition AcceleratorCodes.hpp:25
LIEF namespace.
Definition Abstract/Binary.hpp:40
#define LIEF_API
Definition visibility.h:41