styyx-util 1.0
Utility Header for SKSE Plugin development
Loading...
Searching...
No Matches
FUCK_API.h File Reference
#include <imgui.h>
Include dependency graph for FUCK_API.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  FUCK::ManagedHotkey
class  FUCK::ITool
 Implement this to add a new Tool to the FUCK Sidebar. More...
class  FUCK::IWindow
 Implement this to add a floating, independent Window to the FUCK framework. More...
struct  FUCK_Interface
class  FUCK::Image
 RAII wrapper for custom images. More...
class  FUCK::PluginSettings
 Convenience wrapper for Plugin INI Loading/Saving. More...
class  FUCK::MenuEventListener
 RAII Wrapper for listening to Skyrim UI Menu events. More...

Namespaces

namespace  FUCK
namespace  FUCK::INI
 Delta save/load INI values.

Macros

#define FUCK_API_VERSION   2

Enumerations

enum class  FUCK::Font { FUCK::kRegular , FUCK::kLarge }
enum class  FUCK::Overlay {
  FUCK::kGrid , FUCK::kCrosshair , FUCK::kGoldenSpiral , FUCK::kGoldenRatio ,
  FUCK::kTriangle
}
enum class  FUCK::InputDevice { FUCK::kMouseKeyboard , FUCK::kGamepad }
enum class  FUCK::Modifier { FUCK::kShift = 0 , FUCK::kCtrl = 1 , FUCK::kAlt = 2 }
enum class  FUCK::BindResult { FUCK::kNone , FUCK::kBound , FUCK::kCancelled }
enum class  FUCK::EditorBoundsState { FUCK::kLocked , FUCK::kNormal , FUCK::kSelected , FUCK::kHovered }
enum class  FUCK::TableBgTarget { FUCK::kNone = 0 , FUCK::kRowBg0 = 1 , FUCK::kRowBg1 = 2 , FUCK::kCellBg = 3 }
enum class  FUCK::WindowFlags {
  FUCK::kNone = 0 , FUCK::kPauseHard = 1 << 0 , FUCK::kPauseSoft = 1 << 1 , FUCK::kBlockVanity = 1 << 2 ,
  FUCK::kHideHUD = 1 << 3 , FUCK::kBlurBackground = 1 << 4 , FUCK::kPassInputToGame = 1 << 5 , FUCK::kCloseOnEsc = 1 << 6 ,
  FUCK::kCloseOnGameMenu = 1 << 7 , FUCK::kNoDecoration = 1 << 8 , FUCK::kNoBackground = 1 << 9 , FUCK::kExtendBorder = 1 << 10 ,
  FUCK::kNoResize = 1 << 11 , FUCK::kNoMove = 1 << 12 , FUCK::kAutoResize = 1 << 13 , FUCK::kIgnoreUserScale = 1 << 14 ,
  FUCK::kCustomPosition = 1 << 15
}
enum class  FUCK::TableFlags {
  FUCK::kNone = 0 , FUCK::kResizable = 1 << 0 , FUCK::kReorderable = 1 << 1 , FUCK::kHideable = 1 << 2 ,
  FUCK::kSortable = 1 << 3 , FUCK::kNoSavedSettings = 1 << 4 , FUCK::kContextMenuInBody = 1 << 5 , FUCK::kRowBg = 1 << 6 ,
  FUCK::kBordersInnerH = 1 << 7 , FUCK::kBordersOuterH = 1 << 8 , FUCK::kBordersInnerV = 1 << 9 , FUCK::kBordersOuterV = 1 << 10 ,
  FUCK::kBordersH = kBordersInnerH | kBordersOuterH , FUCK::kBordersV = kBordersInnerV | kBordersOuterV , FUCK::kBorders = kBordersInnerH | kBordersOuterH | kBordersInnerV | kBordersOuterV , FUCK::kSizingFixedFit = 1 << 13 ,
  FUCK::kSizingFixedSame = 2 << 13 , FUCK::kSizingStretchProp = 3 << 13 , FUCK::kSizingStretchSame = 4 << 13
}
enum class  FUCK::TableColumnFlags {
  FUCK::kNone = 0 , FUCK::kDisabled = 1 << 0 , FUCK::kDefaultHide = 1 << 1 , FUCK::kDefaultSort = 1 << 2 ,
  FUCK::kWidthStretch = 1 << 3 , FUCK::kWidthFixed = 1 << 4 , FUCK::kNoResize = 1 << 5 , FUCK::kNoReorder = 1 << 6 ,
  FUCK::kNoHide = 1 << 7 , FUCK::kNoClip = 1 << 8 , FUCK::kNoSort = 1 << 9 , FUCK::kNoSortAscending = 1 << 10 ,
  FUCK::kNoSortDescending = 1 << 11 , FUCK::kNoHeaderLabel = 1 << 12 , FUCK::kNoHeaderWidth = 1 << 13 , FUCK::kPreferSortAscending = 1 << 14 ,
  FUCK::kPreferSortDescending = 1 << 15 , FUCK::kIndentEnable = 1 << 16 , FUCK::kIndentDisable = 1 << 17
}
enum class  FUCK::DragDropFlags {
  FUCK::kNone = 0 , FUCK::kSourceNoPreviewTooltip = 1 << 0 , FUCK::kSourceNoDisableHover = 1 << 1 , FUCK::kSourceNoHoldToOpenOthers = 1 << 2 ,
  FUCK::kSourceAllowNullID = 1 << 3 , FUCK::kSourceExtern = 1 << 4 , FUCK::kSourceAutoExpirePayload = 1 << 5 , FUCK::kAcceptBeforeDelivery = 1 << 10 ,
  FUCK::kAcceptNoDrawDefaultRect = 1 << 11 , FUCK::kAcceptNoPreviewTooltip = 1 << 12 , FUCK::kAcceptPeekOnly = kAcceptBeforeDelivery | kAcceptNoDrawDefaultRect
}
enum class  FUCK::ItemFlags {
  FUCK::kNone = 0 , FUCK::kNoTabStop = 1 << 0 , FUCK::kButtonRepeat = 1 << 1 , FUCK::kDisabled = 1 << 2 ,
  FUCK::kNoNav = 1 << 3
}
enum class  FUCK::PopupFlags { FUCK::kNone = 0 , FUCK::kAnyPopupId = 1 << 10 , FUCK::kAnyPopupLevel = 1 << 11 , FUCK::kAnyPopup = kAnyPopupId | kAnyPopupLevel }
enum class  FUCK::HotkeyFlags : int {
  FUCK::kNone = 0 , FUCK::kAlignNear = 1 << 0 , FUCK::kLabelRight = 1 << 1 , FUCK::kCtrlToRebind = 1 << 2 ,
  FUCK::kAlwaysHighlight = 1 << 3 , FUCK::kNoModifiers = 1 << 4
}
enum class  FUCK::PosInitResult { FUCK::kNotReady , FUCK::kUnchanged , FUCK::kChanged }

Functions

WindowFlags FUCK::operator| (WindowFlags a, WindowFlags b)
bool FUCK::operator& (WindowFlags a, WindowFlags b)
TableFlags FUCK::operator| (TableFlags a, TableFlags b)
TableColumnFlags FUCK::operator| (TableColumnFlags a, TableColumnFlags b)
DragDropFlags FUCK::operator| (DragDropFlags a, DragDropFlags b)
bool FUCK::operator& (DragDropFlags a, DragDropFlags b)
ItemFlags FUCK::operator| (ItemFlags a, ItemFlags b)
bool FUCK::operator& (ItemFlags a, ItemFlags b)
HotkeyFlags FUCK::operator| (HotkeyFlags a, HotkeyFlags b)
bool FUCK::operator& (HotkeyFlags a, HotkeyFlags b)
FUCK_Interface *& FUCK::GetInterface ()
bool FUCK::Connect (const char *pluginName, unsigned int a_minVersion=FUCK_API_VERSION)
 Connects to the FUCK Host Framework.
void FUCK::RegisterTool (ITool *tool)
void FUCK::RegisterWindow (IWindow *window)
void FUCK::UnregisterWindow (IWindow *window)
float FUCK::GetResolutionScale ()
 Gets the physical screen resolution scale multiplier (Base 1080p).
float FUCK::GetGlobalScale ()
 Gets the overall screen resolution combined with the user's selected UI Size Slider multiplier.
float FUCK::GetUserScale ()
 Gets the user's custom UI Size Slider multiplier.
float FUCK::Scale (float value)
 Scales by the Monitor Resolution.
ImVec2 FUCK::Scale (float x, float y)
ImVec2 FUCK::Scale (const ImVec2 &value)
float FUCK::UIScale (float value)
 Scales by both Resolution and the User's UI Size slider.
ImVec2 FUCK::UIScale (float x, float y)
ImVec2 FUCK::UIScale (const ImVec2 &value)
ImVec2 FUCK::GetDisplaySize ()
ImVec2 FUCK::TranslateScaleformToScreen (float stageX, float stageY)
 Converts standard 1280x720 Flash Stage coordinates into physical screen pixels (accounting for Aspect Ratio borders).
ImVec2 FUCK::TranslateScaleformToScreen (const ImVec2 &stagePos)
 Converts standard 1280x720 Flash Stage coordinates into physical screen pixels (accounting for Aspect Ratio borders).
void FUCK::SuspendRendering (bool suspend)
void FUCK::SetMenuOpen (bool open)
bool FUCK::IsMenuOpen ()
ImFont * FUCK::GetFont (Font font)
void FUCK::PushFont (ImFont *font, float size=0.0f)
void FUCK::PopFont ()
void FUCK::SetWindowFontScale (float scale)
void FUCK::PushStyleColor (ImGuiCol idx, const ImVec4 &col)
void FUCK::PopStyleColor (int count=1)
void FUCK::PushStyleVar (ImGuiStyleVar idx, float val)
void FUCK::PushStyleVar (ImGuiStyleVar idx, const ImVec2 &val)
void FUCK::PopStyleVar (int count=1)
float FUCK::GetStyleVar (ImGuiStyleVar idx)
ImVec2 FUCK::GetStyleVarVec (ImGuiStyleVar idx)
ImVec4 FUCK::GetStyleColorVec4 (ImGuiCol idx)
float FUCK::GetTextLineHeight ()
float FUCK::GetTextLineHeightWithSpacing ()
float FUCK::GetFrameHeight ()
float FUCK::GetFrameHeightWithSpacing ()
void FUCK::SetCursorPosX (float x)
void FUCK::SetCursorPosY (float y)
ImVec2 FUCK::GetCursorPos ()
void FUCK::SetCursorPos (const ImVec2 &pos)
ImVec2 FUCK::GetCursorScreenPos ()
void FUCK::SetCursorScreenPos (const ImVec2 &pos)
void FUCK::AlignTextToFramePadding ()
ImVec2 FUCK::GetContentRegionAvail ()
float FUCK::CalcItemWidth ()
ImVec2 FUCK::CalcTextSize (const char *text, const char *text_end=nullptr, bool hide_text_after_double_hash=false, float wrap_width=-1.0f)
ImVec2 FUCK::GetItemRectMin ()
ImVec2 FUCK::GetItemRectMax ()
ImVec2 FUCK::GetItemRectSize ()
void FUCK::SetNextItemWidth (float width)
void FUCK::SetNextItemOpen (bool is_open, int cond=0)
void FUCK::Dummy (const ImVec2 &size)
void FUCK::Spacing (int count=1)
void FUCK::Indent (float width=0.0f)
void FUCK::Unindent (float width=0.0f)
void FUCK::SameLine (float offset_from_start_x=0.0f, float spacing=-1.0f)
void FUCK::Separator ()
void FUCK::SeparatorThick ()
void FUCK::SeparatorText (const char *label)
void FUCK::BeginGroup ()
void FUCK::EndGroup ()
void FUCK::BeginDisabled (bool disabled=true)
void FUCK::EndDisabled ()
void FUCK::PushID (const char *str_id)
void FUCK::PushID (int int_id)
void FUCK::PushID (const void *ptr_id)
void FUCK::PopID ()
void FUCK::PushItemFlag (ItemFlags flag, bool enabled)
void FUCK::PopItemFlag ()
float FUCK::GetDeltaTime ()
double FUCK::GetTime ()
ImVec2 FUCK::GetMouseDelta ()
ImVec2 FUCK::GetMousePos ()
float FUCK::GetMouseWheel ()
void FUCK::SetGameTimeFrozen (bool frozen)
void FUCK::SetAutoVanityBlocked (bool blocked)
void FUCK::SetHardPause (bool paused)
void FUCK::SetSoftPause (bool paused)
void FUCK::ForceCursor (bool force)
bool FUCK::IsInputPressed (const void *inputEvent, std::uint32_t keyId)
bool FUCK::IsInputDown (std::uint32_t keyId)
float FUCK::GetAnalogInput (std::uint32_t keyId)
bool FUCK::IsModifierPressed (Modifier mod)
InputDevice FUCK::GetInputDevice ()
const char * FUCK::GetKeyName (std::uint32_t k)
bool FUCK::IsGamepadKey (std::uint32_t k)
void FUCK::AbortBinding ()
bool FUCK::IsBinding ()
void FUCK::StartBinding (std::uint32_t key, std::int32_t mod1, std::int32_t mod2, bool disallowModifiers=false)
BindResult FUCK::UpdateBinding (const void *inputEvent, std::uint32_t *outKey, std::int32_t *outMod1, std::int32_t *outMod2)
BindResult FUCK::GetInputBind (const void *inputEvent, std::uint32_t *outKey, std::int32_t *outMod1, std::int32_t *outMod2)
bool FUCK::IsPopupOpen (const char *str_id=nullptr, PopupFlags flags=PopupFlags::kNone)
bool FUCK::IsItemHovered (int flags=0)
bool FUCK::IsItemClicked (int mouse_button=0)
bool FUCK::IsItemActive ()
bool FUCK::IsItemFocused ()
bool FUCK::IsItemDeactivated ()
bool FUCK::IsItemDeactivatedAfterEdit ()
bool FUCK::IsAnyItemActive ()
bool FUCK::IsAnyItemHovered ()
bool FUCK::IsWindowFocused (int flags=0)
bool FUCK::IsWindowHovered (int flags=0)
bool FUCK::IsMouseDown (int button)
bool FUCK::IsMouseClicked (int button, bool repeat=false)
bool FUCK::IsMouseReleased (int button)
bool FUCK::IsKeyDown (ImGuiKey key)
bool FUCK::IsKeyPressed (ImGuiKey key, bool repeat=true)
void FUCK::SetKeyboardFocusHere (int offset=0)
void FUCK::SetItemDefaultFocus ()
bool FUCK::IsWidgetFocused (const char *label)
bool FUCK::BeginDragDropSource (DragDropFlags flags=DragDropFlags::kNone)
bool FUCK::SetDragDropPayload (const char *type, const void *data, size_t sz, int cond=0)
void FUCK::EndDragDropSource ()
bool FUCK::BeginDragDropTarget ()
const ImGuiPayload * FUCK::AcceptDragDropPayload (const char *type, DragDropFlags flags=DragDropFlags::kNone)
void FUCK::EndDragDropTarget ()
bool FUCK::Button (const char *label)
bool FUCK::InvisibleButton (const char *str_id, const ImVec2 &size, int flags=0)
bool FUCK::Checkbox (const char *label, bool *v, bool alignFar=true, bool labelLeft=true)
bool FUCK::Hotkey (const char *label, std::uint32_t key, std::int32_t modifier, std::int32_t modifier2, bool alignFar=true, bool labelLeft=true, bool flashing=false)
bool FUCK::ToggleButton (const char *label, bool *v, bool alignFar=true, bool labelLeft=true)
bool FUCK::InputText (const char *label, char *buf, size_t buf_size, int flags=0)
bool FUCK::ColorEdit3 (const char *label, float col[3], int flags=0)
bool FUCK::ColorEdit4 (const char *label, float col[4], int flags=0)
bool FUCK::SliderFloat (const char *label, float *v, float min, float max, const char *fmt="%.3f")
bool FUCK::SliderInt (const char *label, int *v, int min, int max, const char *fmt="%d")
bool FUCK::DragInt (const char *label, int *v, float speed=1.0f, int min=0, int max=0, const char *fmt="%d")
bool FUCK::DragFloat (const char *label, float *v, float speed=1.0f, float min=0.0f, float max=0.0f, const char *fmt="%.3f")
bool FUCK::DragFloat2 (const char *label, float v[2], float speed=1.0f, float min=0.0f, float max=0.0f, const char *fmt="%.3f")
bool FUCK::DragFloat3 (const char *label, float v[3], float speed=1.0f, float min=0.0f, float max=0.0f, const char *fmt="%.3f")
bool FUCK::DragFloat4 (const char *label, float v[4], float speed=1.0f, float min=0.0f, float max=0.0f, const char *fmt="%.3f")
bool FUCK::Combo (const char *label, int *current_item, const char *const *items, int items_count)
bool FUCK::ComboWithFilter (const char *label, int *current_item, const char *const *items, int items_count, int popup_max_height_in_items=-1)
bool FUCK::ComboForm (const char *label, std::uint32_t *currentFormID, std::uint8_t formType)
bool FUCK::ComboForm (const char *label, std::string *currentEdid, std::uint8_t formType)
bool FUCK::Selectable (const char *label, bool selected=false, int flags=0, const ImVec2 &size=ImVec2(0, 0))
ImGuiTableSortSpecs * FUCK::GetTableSortSpecs ()
void FUCK::Header (const char *label)
void FUCK::LeftLabel (const char *label)
void FUCK::CenteredText (const char *label, bool vertical=false)
void FUCK::SetTooltip (const char *fmt)
void FUCK::HelpMarker (const char *desc)
void FUCK::TextColored (const ImVec4 &color, const char *fmt,...)
void FUCK::TextColoredWrapped (const ImVec4 &col, const char *fmt,...)
void FUCK::TextDisabled (const char *fmt,...)
void FUCK::Text (const char *fmt,...)
void FUCK::TextWrapped (const char *fmt,...)
void FUCK::TextUnformatted (const char *text, const char *text_end=nullptr)
bool FUCK::ButtonIconWithLabel (const char *label, ImTextureID textureID, const ImVec2 &size, bool alignFar=true, bool labelLeft=true)
bool FUCK::ImageButton (const char *str_id, ImTextureID user_texture_id, const ImVec2 &image_size, const ImVec4 *tint=nullptr)
void FUCK::Stepper (const char *label, const char *text, bool *outLeft, bool *outRight)
bool FUCK::BeginWindow (const char *name, bool *p_open=nullptr, int flags=0)
void FUCK::EndWindow ()
void FUCK::ExtendWindowPastBorder ()
ImVec2 FUCK::GetWindowPos ()
ImVec2 FUCK::GetWindowSize ()
void FUCK::SetWindowPos (const ImVec2 &pos, int cond=0)
void FUCK::SetWindowSize (const ImVec2 &size, int cond=0)
void FUCK::SetNextWindowPos (const ImVec2 &pos, int cond=0, const ImVec2 &pivot=ImVec2(0, 0))
void FUCK::SetNextWindowSize (const ImVec2 &size, int cond=0)
void FUCK::BeginChild (const char *str_id, const ImVec2 &size=ImVec2(0, 0), bool border=false, int flags=0)
void FUCK::EndChild ()
void FUCK::BeginPanelFrame (const char *str_id, float padding=8.0f)
 Begins an inset child panel using an inside-out group margin. This prevents native ImGui window padding from shrinking the clipping rect and breaking scrollbars.
void FUCK::EndPanelFrame (float padding=8.0f)
 Closes the panel opened by BeginPanelFrame.
bool FUCK::TreeNode (const char *label)
void FUCK::TreePop ()
bool FUCK::CollapsingHeader (const char *label, int flags=0)
bool FUCK::BeginPopupContextItem (const char *str_id=nullptr, int mouse_button=1)
void FUCK::EndPopup ()
bool FUCK::BeginTabBar (const char *str_id, int flags=0)
void FUCK::EndTabBar ()
bool FUCK::BeginTabItem (const char *label, int flags=0)
void FUCK::EndTabItem ()
bool FUCK::BeginTable (const char *str_id, int column, TableFlags flags=TableFlags::kNone, const ImVec2 &outer_size=ImVec2(0.0f, 0.0f), float inner_width=0.0f)
void FUCK::EndTable ()
void FUCK::TableSetBgColor (TableBgTarget target, ImU32 color, int column_n=-1)
float FUCK::GetColumnWidth (int column_index=-1)
bool FUCK::UpdateProportionalWeight (float &inOutWeight, float totalWidth)
 Utility to capture a Table Column's width ratio upon releasing the mouse. Returns true when the weight has meaningfully changed so you can selectively trigger a config save.
void FUCK::TableSetupColumn (const char *label, TableColumnFlags flags=TableColumnFlags::kNone, float init_width_or_weight=0.0f, std::uint32_t user_id=0)
void FUCK::TableNextRow (int row_flags=0, float min_row_height=0.0f)
bool FUCK::TableNextColumn ()
void FUCK::TableHeadersRow ()
void FUCK::Columns (int count=1, const char *id=nullptr, bool border=true)
void FUCK::NextColumn ()
ImTextureID FUCK::GetIconForKey (std::uint32_t key, ImVec2 *outSize=nullptr)
void FUCK::Spinner (const char *label, float radius, float thickness, const ImVec4 &color)
void FUCK::DrawOverlay (Overlay type, float thickness=1.0f, ImU32 color=0, float paramA=0.0f, float paramB=0.0f, float paramC=0.0f, float paramD=0.0f)
void FUCK::DrawGrid (float thickness=0.0f, ImU32 color=0, float rows=3.0f, float cols=3.0f, float rotationDeg=0.0f)
void FUCK::DrawCrosshair (float thickness=1.0f, ImU32 color=0, float rows=1.0f, float cols=1.0f)
void FUCK::DrawGoldenSpiral (float thickness=1.0f, ImU32 color=0, int anchorIndex=0, float turns=6.0f, float rotationDeg=0.0f, float scale=1.0f, bool showSquares=false)
void FUCK::DrawGoldenGrid (float thickness=1.0f, ImU32 color=0, int subdivisions=0)
void FUCK::DrawTriangle (float thickness=1.0f, ImU32 color=0, bool mirror=false)
void FUCK::DrawRect (const ImVec2 &min, const ImVec2 &max, const ImVec4 &col, float rounding=0.0f, float thickness=1.0f)
void FUCK::DrawRectFilled (const ImVec2 &min, const ImVec2 &max, const ImVec4 &col, float rounding=0.0f)
void FUCK::DrawLine (const ImVec2 &p1, const ImVec2 &p2, const ImVec4 &col, float thickness=1.0f)
void FUCK::DrawImage (ImTextureID textureId, const ImVec2 &size, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &tint_col=ImVec4(1, 1, 1, 1))
void FUCK::DrawImageQuad (ImTextureID textureId, const ImVec2 &p1, const ImVec2 &p2, const ImVec2 &p3, const ImVec2 &p4, const ImVec2 &uv1, const ImVec2 &uv2, const ImVec2 &uv3, const ImVec2 &uv4, const ImVec4 &tint_col=ImVec4(1, 1, 1, 1))
void FUCK::AddImage (ImTextureID textureId, const ImVec2 &min, const ImVec2 &max, const ImVec2 &uv0=ImVec2(0, 0), const ImVec2 &uv1=ImVec2(1, 1), const ImVec4 &col=ImVec4(1, 1, 1, 1))
void FUCK::DrawBackgroundImage (ImTextureID tex, float alpha)
void FUCK::DrawBackgroundLine (const ImVec2 &p1, const ImVec2 &p2, ImU32 col, float thickness)
void FUCK::DrawBackgroundRect (const ImVec2 &min, const ImVec2 &max, ImU32 col, float thickness)
void FUCK::DrawScreenRect (const ImVec2 &min, const ImVec2 &max, ImU32 col, float rounding=0.0f, float thickness=1.0f)
void FUCK::DrawScreenRectFilled (const ImVec2 &min, const ImVec2 &max, ImU32 col, float rounding=0.0f)
void FUCK::DrawScreenLine (const ImVec2 &p1, const ImVec2 &p2, ImU32 col, float thickness=1.0f)
const char * FUCK::Translate (const char *key)
void FUCK::LoadTranslation (const char *pluginName)
void FUCK::SanitizePath (char *dest, const char *source, size_t size)
void FUCK::GetPluginConfigPath (const char *pluginName, char *dest, size_t size)
void FUCK::AddMenuListener (void *userdata, void(*callback)(const char *menuName, bool opening, void *userdata))
void FUCK::RemoveMenuListener (void *userdata)
template<size_t N>
void FUCK::StringCopy (char(&dest)[N], const char *source)
 String copy utility.
template<size_t N>
void FUCK::StringCopy (char(&dest)[N], const std::string &source)
bool FUCK::INI::LoadBool (const CSimpleIniA &ini, const char *sec, const char *key, bool defVal)
float FUCK::INI::LoadFloat (const CSimpleIniA &ini, const char *sec, const char *key, float defVal)
template<typename T>
FUCK::INI::LoadInt (const CSimpleIniA &ini, const char *sec, const char *key, T defVal)
void FUCK::INI::SaveBool (CSimpleIniA &ini, const char *sec, const char *key, bool val, bool defVal)
template<typename T, typename U>
void FUCK::INI::SaveInt (CSimpleIniA &ini, const char *sec, const char *key, T val, U defVal)
void FUCK::INI::SaveDouble (CSimpleIniA &ini, const char *sec, const char *key, double val, double defVal, const char *fmt="%.2f")
void FUCK::INI::SaveString (CSimpleIniA &ini, const char *sec, const char *key, const char *val, const char *defVal)
template<size_t N>
void FUCK::INI::LoadString (const CSimpleIniA &ini, const char *sec, const char *key, char(&dest)[N], const char *defVal)
bool FUCK::DrawManagedHotkey (const char *label, ManagedHotkey &h, HotkeyFlags flags=HotkeyFlags::kNone, float iconScale=1.0f, float labelScale=1.0f)
 Used for assigning Hotkeys within the FUCK interface.
bool FUCK::UpdateManagedHotkey (const void *e, ManagedHotkey &h)
bool FUCK::ProcessManagedHotkey (const void *e, ManagedHotkey &h)
bool FUCK::IsManagedHotkeyDown (ManagedHotkey &h)
void FUCK::AbortManagedHotkey (ManagedHotkey &h)
void FUCK::DrawEditorBounds (const ImVec2 &min, const ImVec2 &max, EditorBoundsState state=EditorBoundsState::kNormal, float thickness=2.0f, bool screenSpace=false, const ImVec2 *customAnchor=nullptr)
 Visual for UI widget editing. Handles Screen-Space and Window-Space.
bool FUCK::ClampPosToScreen (ImVec2 &pos, float outOfBoundsTolerance=50.0f)
 Clamps a window or widget position to the screen bounds if it strays too far off-screen.
PosInitResult FUCK::InitializeCustomPosition (ImVec2 &pos, const ImVec2 &defaultPos, bool &outHasClamped, float tolerance=50.0f)
 Handles first-frame initialization, default loading, and screen clamping for custom-positioned windows.
bool FUCK::WASDNudge (float &outDeltaX, float &outDeltaY, bool isActiveOrHovered, float step=1.0f, float sprintMult=10.0f)
 WASD key widget nudging.
bool FUCK::Combo (const char *label, int *current_item, const std::vector< std::string > &items)
bool FUCK::ComboWithFilter (const char *label, int *current_item, std::span< const std::string > items, int popup_max_height_in_items=-1)
bool FUCK::InputText (const char *label, std::string *str, int flags=0)
template<typename T>
bool FUCK::EnumStepper (const char *label, T *current_val, const std::vector< std::string > &items, bool a_translate=true)
void FUCK::SeparatorVertical ()
void FUCK::PushItemWidth (float item_width)
void FUCK::PopItemWidth ()
bool FUCK::BeginTooltip ()
void FUCK::EndTooltip ()
void FUCK::SetScrollHereY (float center_y_ratio=0.5f)
bool FUCK::InputTextMultiline (const char *label, char *buf, size_t buf_size, const ImVec2 &size=ImVec2(0, 0), int flags=0)
bool FUCK::InputTextMultiline (const char *label, std::string *str, const ImVec2 &size=ImVec2(0, 0), int flags=0)
const char * operator""_T (const char *str, std::size_t)
 String literal to automatically run FUCK::Translate.

Variables

const char * FUCK::g_pluginName = "UnknownPlugin"

Macro Definition Documentation

◆ FUCK_API_VERSION

#define FUCK_API_VERSION   2

Function Documentation

◆ operator""_T()

const char * operator""_T ( const char * str,
std::size_t  )
inline

String literal to automatically run FUCK::Translate.

Here is the call graph for this function: