mirror of
https://github.com/Ed94/raddebugger.git
synced 2026-10-14 04:49:41 -07:00
cursor trails
This commit is contained in:
1 parent
bc49b806c1
commit
0c7630e41c
7 files changed
+47
-8
No files matched your search
@@ -318,6 +318,7 @@ dr_rect(Rng2F32 dst, Vec4F32 color, F32 corner_radius, F32 border_thickness, F32
|
|||||||
inst->border_thickness = border_thickness;
|
inst->border_thickness = border_thickness;
|
||||||
inst->edge_softness = edge_softness;
|
inst->edge_softness = edge_softness;
|
||||||
inst->white_texture_override = 1.f;
|
inst->white_texture_override = 1.f;
|
||||||
|
inst->shear = 0.f;
|
||||||
bucket->last_cmd_stack_gen = bucket->stack_gen;
|
bucket->last_cmd_stack_gen = bucket->stack_gen;
|
||||||
return inst;
|
return inst;
|
||||||
}
|
}
|
||||||
@@ -363,6 +364,7 @@ dr_img(Rng2F32 dst, Rng2F32 src, R_Handle texture, Vec4F32 color, F32 corner_rad
|
|||||||
inst->border_thickness = border_thickness;
|
inst->border_thickness = border_thickness;
|
||||||
inst->edge_softness = edge_softness;
|
inst->edge_softness = edge_softness;
|
||||||
inst->white_texture_override = 0.f;
|
inst->white_texture_override = 0.f;
|
||||||
|
inst->shear = 0.f;
|
||||||
bucket->last_cmd_stack_gen = bucket->stack_gen;
|
bucket->last_cmd_stack_gen = bucket->stack_gen;
|
||||||
return inst;
|
return inst;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -426,7 +426,7 @@ RD_VocabInfo rd_vocab_info_table[358] =
|
|||||||
|
|
||||||
RD_NameSchemaInfo rd_name_schema_info_table[26] =
|
RD_NameSchemaInfo rd_name_schema_info_table[26] =
|
||||||
{
|
{
|
||||||
{str8_lit_comp("user"), str8_lit_comp("@expand_commands(edit_user_theme) x:\n{\n //- rjf: animations\n @display_name('Animations') @description(\"Enables animations.\")\n @default(1) 'animations': bool,\n @display_name('Scrolling Animations') @description(\"Enables scrolling animations.\")\n @expand_if(\"$.animations\") @default(1) 'scrolling_animations': bool,\n @display_name('Tooltip Animations') @description(\"Enables tooltip animations.\")\n @expand_if(\"$.animations\") @default(1) 'tooltip_animations': bool,\n @display_name('Menu Animations') @description(\"Enables menu animations.\")\n @expand_if(\"$.animations\") @default(1) 'menu_animations': bool,\n\n //- rjf: fonts\n @display_name('UI Font') @description(\"The name of, or path to, the font used when displaying non-code UI elements.\")\n @default('') 'main_font': string,\n @display_name('Code Font') @description(\"The name of, or path to, the font used when displaying code.\")\n @default('') 'code_font': string,\n\n //- rjf: theme\n @default(\"Default (Dark)\") @display_name('User Theme')\n @description(\"The user's theme, which describes all colors used throughout the UI.\")\n 'theme': string,\n @no_expand @display_name('User Theme')\n 'theme_colors': query,\n\n //- rjf: autocompletion\n @display_name('Autocompletion Lister') @description(\"Enables the autocompletion lister while typing expressions.\") @default(1)\n 'autocompletion_lister': bool,\n @display_name('View Call Argument Helper') @description(\"Enables the view call argument helper, which shows view arguments and documentation, while typing expressions.\") @default(1)\n 'view_call_argument_helper': bool,\n\n //- rjf: scope decorations\n @default(1) @display_name('Cursor Scope Lines') @description(\"Controls whether or not scopes containing the cursor in text views are drawn.\")\n 'cursor_scope_lines': bool,\n\n //- rjf: thread & breakpoint decorations\n @default(1) @display_name('Thread Lines') @description(\"Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.\")\n 'thread_lines': bool,\n @default(1) @display_name('Thread Glow') @description(\"Controls whether or not a glowing effect is drawn on the selected thread in source and disassembly views.\")\n 'thread_glow': bool,\n @default(1) @display_name('Breakpoint Lines') @description(\"Controls whether or not a long horizontal line is drawn before the line or instruction at which a breakpoint is placed, in source and disassembly views.\")\n 'breakpoint_lines': bool,\n @default(1) @display_name('Breakpoint Glow') @description(\"Controls whether or not a glowing effect is drawn on breakpoints in source and disassembly views.\")\n 'breakpoint_glow': bool,\n\n //- rjf: occluding background settings\n @default(0) @display_name('Opaque Backgrounds') @description(\"Controls whether or not all floating background colors are forced to be fully opaque.\")\n 'opaque_backgrounds': bool,\n @default(1) @display_name('Background Blur') @description(\"Controls whether or not occluded regions behind floating elements are blurred.\")\n 'background_blur': bool,\n\n //- rjf: appearance settings\n @default(1) @display_name('Drop Shadows') @description(\"Controls whether or not drop shadows are drawn.\")\n 'drop_shadows': bool,\n @default(1.f) @display_name('Rounded Corner Amount') @description(\"Controls the degree to which UI corners are rounded.\")\n 'rounded_corner_amount': @range[0, 1] f32,\n\n //- rjf: code formatting settings\n @default(2) @display_name('User Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: windows style menu bar\n @default(1) @display_name('Focus Menu Bar With Alt') @description(\"Mimics standard Windows behavior of focusing the menu bar using the Alt key.\")\n 'focus_menu_bar_with_alt': bool,\n\n //- rjf: native filesystem dialogues\n @default(0) @display_name('Use Native File System Dialog') @description(\"Uses the operating system's file system dialog box, rather than the debugger's built-in UI.\")\n 'use_native_file_system_dialog': bool,\n}\n")},
|
{str8_lit_comp("user"), str8_lit_comp("@expand_commands(edit_user_theme) x:\n{\n //- rjf: animations\n @display_name('Animations') @description(\"Enables animations.\")\n @default(1) 'animations': bool,\n @display_name('Scrolling Animations') @description(\"Enables scrolling animations.\")\n @expand_if(\"$.animations\") @default(1) 'scrolling_animations': bool,\n @display_name('Tooltip Animations') @description(\"Enables tooltip animations.\")\n @expand_if(\"$.animations\") @default(1) 'tooltip_animations': bool,\n @display_name('Menu Animations') @description(\"Enables menu animations.\")\n @expand_if(\"$.animations\") @default(1) 'menu_animations': bool,\n\n //- rjf: fonts\n @display_name('UI Font') @description(\"The name of, or path to, the font used when displaying non-code UI elements.\")\n @default('') 'main_font': string,\n @display_name('Code Font') @description(\"The name of, or path to, the font used when displaying code.\")\n @default('') 'code_font': string,\n\n //- rjf: theme\n @default(\"Default (Dark)\") @display_name('User Theme')\n @description(\"The user's theme, which describes all colors used throughout the UI.\")\n 'theme': string,\n @no_expand @display_name('User Theme')\n 'theme_colors': query,\n\n //- rjf: autocompletion\n @display_name('Autocompletion Lister') @description(\"Enables the autocompletion lister while typing expressions.\") @default(1)\n 'autocompletion_lister': bool,\n @display_name('View Call Argument Helper') @description(\"Enables the view call argument helper, which shows view arguments and documentation, while typing expressions.\") @default(1)\n 'view_call_argument_helper': bool,\n\n //- rjf: scope decorations\n @default(1) @display_name('Cursor Scope Lines') @description(\"Controls whether or not scopes containing the cursor in text views are drawn.\")\n 'cursor_scope_lines': bool,\n\n //- rjf: cursor decorations\n @default(1) @display_name('Cursor Trail') @description(\"Controls whether or not a movement trail of the cursor is drawn.\")\n 'cursor_trail': bool,\n\n //- rjf: thread & breakpoint decorations\n @default(1) @display_name('Thread Lines') @description(\"Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.\")\n 'thread_lines': bool,\n @default(1) @display_name('Thread Glow') @description(\"Controls whether or not a glowing effect is drawn on the selected thread in source and disassembly views.\")\n 'thread_glow': bool,\n @default(1) @display_name('Breakpoint Lines') @description(\"Controls whether or not a long horizontal line is drawn before the line or instruction at which a breakpoint is placed, in source and disassembly views.\")\n 'breakpoint_lines': bool,\n @default(1) @display_name('Breakpoint Glow') @description(\"Controls whether or not a glowing effect is drawn on breakpoints in source and disassembly views.\")\n 'breakpoint_glow': bool,\n\n //- rjf: occluding background settings\n @default(0) @display_name('Opaque Backgrounds') @description(\"Controls whether or not all floating background colors are forced to be fully opaque.\")\n 'opaque_backgrounds': bool,\n @default(1) @display_name('Background Blur') @description(\"Controls whether or not occluded regions behind floating elements are blurred.\")\n 'background_blur': bool,\n\n //- rjf: appearance settings\n @default(1) @display_name('Drop Shadows') @description(\"Controls whether or not drop shadows are drawn.\")\n 'drop_shadows': bool,\n @default(1.f) @display_name('Rounded Corner Amount') @description(\"Controls the degree to which UI corners are rounded.\")\n 'rounded_corner_amount': @range[0, 1] f32,\n\n //- rjf: code formatting settings\n @default(2) @display_name('User Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: windows style menu bar\n @default(1) @display_name('Focus Menu Bar With Alt') @description(\"Mimics standard Windows behavior of focusing the menu bar using the Alt key.\")\n 'focus_menu_bar_with_alt': bool,\n\n //- rjf: native filesystem dialogues\n @default(0) @display_name('Use Native File System Dialog') @description(\"Uses the operating system's file system dialog box, rather than the debugger's built-in UI.\")\n 'use_native_file_system_dialog': bool,\n}\n")},
|
||||||
{str8_lit_comp("project"), str8_lit_comp("@expand_commands(edit_project_theme) x:\n{\n @default(2) @display_name('Project Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: visualizers\n @display_name('Use Default C++ STL Type Visualizers') @description(\"Enables the built-in type views for C++ STL types.\")\n @default(1) use_default_stl_type_views: bool,\n @display_name('Use Default Unreal Engine Type Visualizers') @description(\"Enables the built-in type views for Unreal Engine types.\")\n @default(1) use_default_ue_type_views: bool,\n\n //- rjf: theme\n @default(\"None\") @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme': string,\n @no_expand @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme_colors': query,\n\n //- rjf: exception settings\n @default(1) @display_name(\"Break On Win32 Control-C Exceptions\") @description(\"Code: 0x40010005\")\n win32_ctrl_c: bool;\n @default(1) @display_name(\"Break On Win32 Control-Break Exceptions\") @description(\"Code: 0x40010008\")\n win32_ctrl_break: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Originate Error Exceptions\") @description(\"Code: 0x40080201\")\n win32_win_rt_originate_error: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Transform Error Exceptions\") @description(\"Code: 0x40080202\")\n win32_win_rt_transform_error: bool;\n @default(0) @display_name(\"Break On Win32 RPC Call Cancelled Exceptions\") @description(\"Code: 0x0000071a\")\n win32_rpc_call_cancelled: bool;\n @default(0) @display_name(\"Break On Win32 Data Type Misalignment Exceptions\") @description(\"Code: 0x80000002\")\n win32_datatype_misalignment: bool;\n @default(1) @display_name(\"Break On Win32 Access Violation Exceptions\") @description(\"Code: 0xc0000005\")\n win32_access_violation: bool;\n @default(0) @display_name(\"Break On Win32 In Page Error Exceptions\") @description(\"Code: 0xc0000006\")\n win32_in_page_error: bool;\n @default(1) @display_name(\"Break On Win32 Invalid Handle Specified Exceptions\") @description(\"Code: 0xc0000008\")\n win32_invalid_handle: bool;\n @default(0) @display_name(\"Break On Win32 Not Enough Quota Exceptions\") @description(\"Code: 0xc0000017\")\n win32_not_enough_quota: bool;\n @default(0) @display_name(\"Break On Win32 Illegal Instruction Exceptions\") @description(\"Code: 0xc000001d\")\n win32_illegal_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Cannot Continue From Exception Exceptions\") @description(\"Code: 0xc0000025\")\n win32_cannot_continue_exception: bool;\n @default(0) @display_name(\"Break On Win32 Invalid Exception Disposition Returned By Handler Exceptions\") @description(\"Code: 0xc0000026\")\n win32_invalid_exception_disposition: bool;\n @default(0) @display_name(\"Break On Win32 Array Bounds Exceeded Exceptions\") @description(\"Code: 0xc000008c\")\n win32_array_bounds_exceeded: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Denormal Operand Exceptions\") @description(\"Code: 0xc000008d\")\n win32_floating_point_denormal_operand: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Division By Zero Exceptions\") @description(\"Code: 0xc000008e\")\n win32_floating_point_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Inexact Result Exceptions\") @description(\"Code: 0xc000008f\")\n win32_floating_point_inexact_result: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Invalid Operation Exceptions\") @description(\"Code: 0xc0000090\")\n win32_floating_point_invalid_operation: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Overflow Exceptions\") @description(\"Code: 0xc0000091\")\n win32_floating_point_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Stack Check Exceptions\") @description(\"Code: 0xc0000092\")\n win32_floating_point_stack_check: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Underflow Exceptions\") @description(\"Code: 0xc0000093\")\n win32_floating_point_underflow: bool;\n @default(0) @display_name(\"Break On Win32 Integer Division By Zero Exceptions\") @description(\"Code: 0xc0000094\")\n win32_integer_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Integer Overflow Exceptions\") @description(\"Code: 0xc0000095\")\n win32_integer_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Privileged Instruction Exceptions\") @description(\"Code: 0xc0000096\")\n win32_privileged_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Stack Overflow Exceptions\") @description(\"Code: 0xc00000fd\")\n win32_stack_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Unable To Locate DLL Exceptions\") @desLine truncated
|
{str8_lit_comp("project"), str8_lit_comp("@expand_commands(edit_project_theme) x:\n{\n @default(2) @display_name('Project Tab Width') 'tab_width': @range[1, 32] u64,\n\n //- rjf: visualizers\n @display_name('Use Default C++ STL Type Visualizers') @description(\"Enables the built-in type views for C++ STL types.\")\n @default(1) use_default_stl_type_views: bool,\n @display_name('Use Default Unreal Engine Type Visualizers') @description(\"Enables the built-in type views for Unreal Engine types.\")\n @default(1) use_default_ue_type_views: bool,\n\n //- rjf: theme\n @default(\"None\") @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme': string,\n @no_expand @display_name('Project Theme') @description(\"The project's theme, which describes all colors used throughout the UI, and can override the user's theme.\")\n 'theme_colors': query,\n\n //- rjf: exception settings\n @default(1) @display_name(\"Break On Win32 Control-C Exceptions\") @description(\"Code: 0x40010005\")\n win32_ctrl_c: bool;\n @default(1) @display_name(\"Break On Win32 Control-Break Exceptions\") @description(\"Code: 0x40010008\")\n win32_ctrl_break: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Originate Error Exceptions\") @description(\"Code: 0x40080201\")\n win32_win_rt_originate_error: bool;\n @default(0) @display_name(\"Break On Win32 WinRT Transform Error Exceptions\") @description(\"Code: 0x40080202\")\n win32_win_rt_transform_error: bool;\n @default(0) @display_name(\"Break On Win32 RPC Call Cancelled Exceptions\") @description(\"Code: 0x0000071a\")\n win32_rpc_call_cancelled: bool;\n @default(0) @display_name(\"Break On Win32 Data Type Misalignment Exceptions\") @description(\"Code: 0x80000002\")\n win32_datatype_misalignment: bool;\n @default(1) @display_name(\"Break On Win32 Access Violation Exceptions\") @description(\"Code: 0xc0000005\")\n win32_access_violation: bool;\n @default(0) @display_name(\"Break On Win32 In Page Error Exceptions\") @description(\"Code: 0xc0000006\")\n win32_in_page_error: bool;\n @default(1) @display_name(\"Break On Win32 Invalid Handle Specified Exceptions\") @description(\"Code: 0xc0000008\")\n win32_invalid_handle: bool;\n @default(0) @display_name(\"Break On Win32 Not Enough Quota Exceptions\") @description(\"Code: 0xc0000017\")\n win32_not_enough_quota: bool;\n @default(0) @display_name(\"Break On Win32 Illegal Instruction Exceptions\") @description(\"Code: 0xc000001d\")\n win32_illegal_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Cannot Continue From Exception Exceptions\") @description(\"Code: 0xc0000025\")\n win32_cannot_continue_exception: bool;\n @default(0) @display_name(\"Break On Win32 Invalid Exception Disposition Returned By Handler Exceptions\") @description(\"Code: 0xc0000026\")\n win32_invalid_exception_disposition: bool;\n @default(0) @display_name(\"Break On Win32 Array Bounds Exceeded Exceptions\") @description(\"Code: 0xc000008c\")\n win32_array_bounds_exceeded: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Denormal Operand Exceptions\") @description(\"Code: 0xc000008d\")\n win32_floating_point_denormal_operand: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Division By Zero Exceptions\") @description(\"Code: 0xc000008e\")\n win32_floating_point_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Inexact Result Exceptions\") @description(\"Code: 0xc000008f\")\n win32_floating_point_inexact_result: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Invalid Operation Exceptions\") @description(\"Code: 0xc0000090\")\n win32_floating_point_invalid_operation: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Overflow Exceptions\") @description(\"Code: 0xc0000091\")\n win32_floating_point_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Stack Check Exceptions\") @description(\"Code: 0xc0000092\")\n win32_floating_point_stack_check: bool;\n @default(0) @display_name(\"Break On Win32 Floating-Point Underflow Exceptions\") @description(\"Code: 0xc0000093\")\n win32_floating_point_underflow: bool;\n @default(0) @display_name(\"Break On Win32 Integer Division By Zero Exceptions\") @description(\"Code: 0xc0000094\")\n win32_integer_division_by_zero: bool;\n @default(0) @display_name(\"Break On Win32 Integer Overflow Exceptions\") @description(\"Code: 0xc0000095\")\n win32_integer_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Privileged Instruction Exceptions\") @description(\"Code: 0xc0000096\")\n win32_privileged_instruction: bool;\n @default(0) @display_name(\"Break On Win32 Stack Overflow Exceptions\") @description(\"Code: 0xc00000fd\")\n win32_stack_overflow: bool;\n @default(0) @display_name(\"Break On Win32 Unable To Locate DLL Exceptions\") @desLine truncated
|
||||||
{str8_lit_comp("theme_color"), str8_lit_comp("@collection_commands(add_theme_color, fork_theme, save_theme, save_and_set_theme)\n@row_commands(duplicate_cfg, remove_cfg)\nx:\n{\n @display_name('Tags') tags: string,\n @display_name('Value') value: @color @hex u32,\n}\n")},
|
{str8_lit_comp("theme_color"), str8_lit_comp("@collection_commands(add_theme_color, fork_theme, save_theme, save_and_set_theme)\n@row_commands(duplicate_cfg, remove_cfg)\nx:\n{\n @display_name('Tags') tags: string,\n @display_name('Value') value: @color @hex u32,\n}\n")},
|
||||||
{str8_lit_comp("window"), str8_lit_comp("x:\n{\n //- rjf: text rasterization settings\n @default(1) @display_name('Smooth UI Text') @description(\"Controls whether or not UI text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_ui_text': bool,\n @default(1) @display_name('Hint UI Text') @description(\"Controls whether or not UI text is hinted, for better text readability at small sizes.\")\n 'hint_ui_text': bool,\n @default(0) @display_name('Smooth Code Text') @description(\"Controls whether or not code text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_code_text': bool,\n @default(1) @display_name('Hint Code Text') @description(\"Controls whether or not code text is hinted, for better text readability at small sizes.\")\n 'hint_code_text': bool,\n @default(11) @display_name('Window Font Size') @description(\"Controls the window's default font size. Does not apply to tabs with their own font size set.\")\n 'font_size': @range[6, 72] u64,\n\n //- rjf: size settings\n @default(3.f) @display_name('Window Row Height') @description(\"Controls the window's default row height, in multiples of the font size. Does not apply to tabs with their own row height set.\")\n 'row_height': @range[1.75f, 5.f] f32,\n @default(3.f) @description(\"Controls the height of tabs, in multiples of the font size.\")\n 'tab_height': @range[1.75f, 5.f] f32,\n\n //- rjf: theme settings\n @default(1) @display_name('Use Project Theme') @description(\"Prefer using the project theme for this window, if any. If off, only the user's theme settings will be used.\")\n 'use_project_theme': bool,\n}\n")},
|
{str8_lit_comp("window"), str8_lit_comp("x:\n{\n //- rjf: text rasterization settings\n @default(1) @display_name('Smooth UI Text') @description(\"Controls whether or not UI text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_ui_text': bool,\n @default(1) @display_name('Hint UI Text') @description(\"Controls whether or not UI text is hinted, for better text readability at small sizes.\")\n 'hint_ui_text': bool,\n @default(0) @display_name('Smooth Code Text') @description(\"Controls whether or not code text is fully anti-aliased, for a smoother appearance.\")\n 'smooth_code_text': bool,\n @default(1) @display_name('Hint Code Text') @description(\"Controls whether or not code text is hinted, for better text readability at small sizes.\")\n 'hint_code_text': bool,\n @default(11) @display_name('Window Font Size') @description(\"Controls the window's default font size. Does not apply to tabs with their own font size set.\")\n 'font_size': @range[6, 72] u64,\n\n //- rjf: size settings\n @default(3.f) @display_name('Window Row Height') @description(\"Controls the window's default row height, in multiples of the font size. Does not apply to tabs with their own row height set.\")\n 'row_height': @range[1.75f, 5.f] f32,\n @default(3.f) @description(\"Controls the height of tabs, in multiples of the font size.\")\n 'tab_height': @range[1.75f, 5.f] f32,\n\n //- rjf: theme settings\n @default(1) @display_name('Use Project Theme') @description(\"Prefer using the project theme for this window, if any. If off, only the user's theme settings will be used.\")\n 'use_project_theme': bool,\n}\n")},
|
||||||
|
|||||||
@@ -264,6 +264,10 @@ RD_VocabTable:
|
|||||||
@default(1) @display_name('Cursor Scope Lines') @description("Controls whether or not scopes containing the cursor in text views are drawn.")
|
@default(1) @display_name('Cursor Scope Lines') @description("Controls whether or not scopes containing the cursor in text views are drawn.")
|
||||||
'cursor_scope_lines': bool,
|
'cursor_scope_lines': bool,
|
||||||
|
|
||||||
|
//- rjf: cursor decorations
|
||||||
|
@default(1) @display_name('Cursor Trail') @description("Controls whether or not a movement trail of the cursor is drawn.")
|
||||||
|
'cursor_trail': bool,
|
||||||
|
|
||||||
//- rjf: thread & breakpoint decorations
|
//- rjf: thread & breakpoint decorations
|
||||||
@default(1) @display_name('Thread Lines') @description("Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.")
|
@default(1) @display_name('Thread Lines') @description("Controls whether or not a long horizontal line is drawn before the next line or instruction that the selected thread will execute in source and disassembly views.")
|
||||||
'thread_lines': bool,
|
'thread_lines': bool,
|
||||||
|
|||||||
@@ -1277,6 +1277,7 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
|||||||
B32 do_bp_lines = rd_setting_b32_from_name(str8_lit("breakpoint_lines"));
|
B32 do_bp_lines = rd_setting_b32_from_name(str8_lit("breakpoint_lines"));
|
||||||
B32 do_bp_glow = rd_setting_b32_from_name(str8_lit("breakpoint_glow"));
|
B32 do_bp_glow = rd_setting_b32_from_name(str8_lit("breakpoint_glow"));
|
||||||
B32 do_scope_lines = rd_setting_b32_from_name(str8_lit("cursor_scope_lines"));
|
B32 do_scope_lines = rd_setting_b32_from_name(str8_lit("cursor_scope_lines"));
|
||||||
|
B32 do_cursor_trail = rd_setting_b32_from_name(str8_lit("cursor_trail"));
|
||||||
Vec4F32 pop_color = {0};
|
Vec4F32 pop_color = {0};
|
||||||
UI_TagF("pop")
|
UI_TagF("pop")
|
||||||
{
|
{
|
||||||
@@ -2775,7 +2776,10 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
|||||||
{
|
{
|
||||||
S64 column = cursor->column;
|
S64 column = cursor->column;
|
||||||
Vec2F32 advance = fnt_dim_from_tag_size_string(line_box->font, line_box->font_size, 0, params->tab_size, str8_prefix(line_string, column-1));
|
Vec2F32 advance = fnt_dim_from_tag_size_string(line_box->font, line_box->font_size, 0, params->tab_size, str8_prefix(line_string, column-1));
|
||||||
|
F32 cursor_y = line_box->rect.y0-params->font_size*0.125f;
|
||||||
|
F32 cursor_y__animated = ui_anim(ui_key_from_stringf(text_container_box->key, "cursor_y_px"), cursor_y);
|
||||||
F32 cursor_off_pixels = advance.x;
|
F32 cursor_off_pixels = advance.x;
|
||||||
|
F32 cursor_off_pixels__animated = ui_anim(ui_key_from_stringf(text_container_box->key, "cursor_off_px"), cursor_off_pixels);
|
||||||
F32 cursor_thickness = ClampBot(1.f, floor_f32(line_box->font_size/10.f));
|
F32 cursor_thickness = ClampBot(1.f, floor_f32(line_box->font_size/10.f));
|
||||||
Rng2F32 cursor_rect =
|
Rng2F32 cursor_rect =
|
||||||
{
|
{
|
||||||
@@ -2784,12 +2788,39 @@ rd_code_slice(RD_CodeSliceParams *params, TxtPt *cursor, TxtPt *mark, S64 *prefe
|
|||||||
ui_box_text_position(line_box).x+cursor_off_pixels+cursor_thickness,
|
ui_box_text_position(line_box).x+cursor_off_pixels+cursor_thickness,
|
||||||
line_box->rect.y1+params->font_size*0.125f,
|
line_box->rect.y1+params->font_size*0.125f,
|
||||||
};
|
};
|
||||||
|
Rng1F32 trail_off_span = r1f32(cursor_off_pixels__animated, cursor_off_pixels);
|
||||||
|
Rng2F32 trail_rect =
|
||||||
|
{
|
||||||
|
ui_box_text_position(line_box).x+trail_off_span.min,
|
||||||
|
line_box->rect.y0-params->font_size*0.125f,
|
||||||
|
ui_box_text_position(line_box).x+trail_off_span.max,
|
||||||
|
line_box->rect.y1+params->font_size*0.125f,
|
||||||
|
};
|
||||||
Vec4F32 cursor_color = ui_color_from_name(str8_lit("cursor"));
|
Vec4F32 cursor_color = ui_color_from_name(str8_lit("cursor"));
|
||||||
|
Vec4F32 trail_color = cursor_color;
|
||||||
if(!is_focused)
|
if(!is_focused)
|
||||||
{
|
{
|
||||||
cursor_color.w *= 0.5f;
|
cursor_color.w *= 0.5f;
|
||||||
}
|
}
|
||||||
|
trail_color.w *= 0.25f;
|
||||||
dr_rect(cursor_rect, cursor_color, 1.f, 0, 0.f);
|
dr_rect(cursor_rect, cursor_color, 1.f, 0, 0.f);
|
||||||
|
if(do_cursor_trail)
|
||||||
|
{
|
||||||
|
R_Rect2DInst *trail_inst = dr_rect(trail_rect, trail_color, ui_top_font_size()*0.2f, 0, 1.f);
|
||||||
|
trail_inst->shear = cursor_y - cursor_y__animated;
|
||||||
|
if(cursor_off_pixels > cursor_off_pixels__animated)
|
||||||
|
{
|
||||||
|
trail_inst->dst = shift_2f32(trail_inst->dst, v2f32(0, -trail_inst->shear));
|
||||||
|
trail_inst->colors[Corner_00].w *= 0.1f;
|
||||||
|
trail_inst->colors[Corner_01].w *= 0.1f;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
trail_inst->shear *= -1;
|
||||||
|
trail_inst->colors[Corner_10].w *= 0.1f;
|
||||||
|
trail_inst->colors[Corner_11].w *= 0.1f;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// rjf: extra rendering for lines with line-info that match the hovered
|
// rjf: extra rendering for lines with line-info that match the hovered
|
||||||
|
|||||||
@@ -58,7 +58,7 @@ str8_lit_comp(
|
|||||||
" float4 color10 : COL2;\n"
|
" float4 color10 : COL2;\n"
|
||||||
" float4 color11 : COL3;\n"
|
" float4 color11 : COL3;\n"
|
||||||
" float4 corner_radii_px : CRAD;\n"
|
" float4 corner_radii_px : CRAD;\n"
|
||||||
" float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: unused\n"
|
" float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear\n"
|
||||||
" uint vertex_id : SV_VertexID;\n"
|
" uint vertex_id : SV_VertexID;\n"
|
||||||
"};\n"
|
"};\n"
|
||||||
"\n"
|
"\n"
|
||||||
@@ -113,14 +113,15 @@ str8_lit_comp(
|
|||||||
" float border_thickness_px = cpu2vertex.style_params.x;\n"
|
" float border_thickness_px = cpu2vertex.style_params.x;\n"
|
||||||
" float softness_px = cpu2vertex.style_params.y;\n"
|
" float softness_px = cpu2vertex.style_params.y;\n"
|
||||||
" float omit_texture = cpu2vertex.style_params.z;\n"
|
" float omit_texture = cpu2vertex.style_params.z;\n"
|
||||||
|
" float shear_px = cpu2vertex.style_params.w;\n"
|
||||||
" \n"
|
" \n"
|
||||||
" //- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)\n"
|
" //- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)\n"
|
||||||
" float2 dst_p_verts_px[] =\n"
|
" float2 dst_p_verts_px[] =\n"
|
||||||
" {\n"
|
" {\n"
|
||||||
" float2(dst_p0_px.x, dst_p1_px.y),\n"
|
" float2(dst_p0_px.x, dst_p1_px.y),\n"
|
||||||
" float2(dst_p0_px.x, dst_p0_px.y),\n"
|
" float2(dst_p0_px.x, dst_p0_px.y),\n"
|
||||||
" float2(dst_p1_px.x, dst_p1_px.y),\n"
|
" float2(dst_p1_px.x, dst_p1_px.y + shear_px),\n"
|
||||||
" float2(dst_p1_px.x, dst_p0_px.y),\n"
|
" float2(dst_p1_px.x, dst_p0_px.y + shear_px),\n"
|
||||||
" };\n"
|
" };\n"
|
||||||
" float2 src_p_verts_px[] =\n"
|
" float2 src_p_verts_px[] =\n"
|
||||||
" {\n"
|
" {\n"
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ struct CPU2Vertex
|
|||||||
float4 color10 : COL2;
|
float4 color10 : COL2;
|
||||||
float4 color11 : COL3;
|
float4 color11 : COL3;
|
||||||
float4 corner_radii_px : CRAD;
|
float4 corner_radii_px : CRAD;
|
||||||
float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: unused
|
float4 style_params : STY; // x: border_thickness_px, y: softness_px, z: omit_texture, w: shear
|
||||||
uint vertex_id : SV_VertexID;
|
uint vertex_id : SV_VertexID;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -111,14 +111,15 @@ vs_main(CPU2Vertex cpu2vertex)
|
|||||||
float border_thickness_px = cpu2vertex.style_params.x;
|
float border_thickness_px = cpu2vertex.style_params.x;
|
||||||
float softness_px = cpu2vertex.style_params.y;
|
float softness_px = cpu2vertex.style_params.y;
|
||||||
float omit_texture = cpu2vertex.style_params.z;
|
float omit_texture = cpu2vertex.style_params.z;
|
||||||
|
float shear_px = cpu2vertex.style_params.w;
|
||||||
|
|
||||||
//- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)
|
//- rjf: prep per-vertex arrays to sample from (p: position, t: texcoord, c: colorcoord, r: cornerradius)
|
||||||
float2 dst_p_verts_px[] =
|
float2 dst_p_verts_px[] =
|
||||||
{
|
{
|
||||||
float2(dst_p0_px.x, dst_p1_px.y),
|
float2(dst_p0_px.x, dst_p1_px.y),
|
||||||
float2(dst_p0_px.x, dst_p0_px.y),
|
float2(dst_p0_px.x, dst_p0_px.y),
|
||||||
float2(dst_p1_px.x, dst_p1_px.y),
|
float2(dst_p1_px.x, dst_p1_px.y + shear_px),
|
||||||
float2(dst_p1_px.x, dst_p0_px.y),
|
float2(dst_p1_px.x, dst_p0_px.y + shear_px),
|
||||||
};
|
};
|
||||||
float2 src_p_verts_px[] =
|
float2 src_p_verts_px[] =
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -103,7 +103,7 @@ struct R_Rect2DInst
|
|||||||
F32 border_thickness;
|
F32 border_thickness;
|
||||||
F32 edge_softness;
|
F32 edge_softness;
|
||||||
F32 white_texture_override;
|
F32 white_texture_override;
|
||||||
F32 _unused_[1];
|
F32 shear;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct R_Mesh3DInst R_Mesh3DInst;
|
typedef struct R_Mesh3DInst R_Mesh3DInst;
|
||||||
|
|||||||
Reference in new issue
Block a user