Angle snap added to UI and driver support
This commit is contained in:
@@ -10,6 +10,7 @@ struct _MousePanel
|
||||
AdwPreferencesGroup* dpi_preference_group;
|
||||
AdwButtonContent* dpi_stage_add_button;
|
||||
AdwSwitchRow* motion_sync_switchrow;
|
||||
AdwSwitchRow* angle_snap_switchrow;
|
||||
};
|
||||
|
||||
G_DEFINE_TYPE (MousePanel, mouse_panel, panel_get_type())
|
||||
@@ -27,6 +28,7 @@ mouse_panel_class_init(MousePanelClass* klass)
|
||||
gtk_widget_class_bind_template_child(widget_class, MousePanel, dpi_preference_group);
|
||||
gtk_widget_class_bind_template_child(widget_class, MousePanel, dpi_stage_add_button);
|
||||
gtk_widget_class_bind_template_child(widget_class, MousePanel, motion_sync_switchrow);
|
||||
gtk_widget_class_bind_template_child(widget_class, MousePanel, angle_snap_switchrow);
|
||||
}
|
||||
|
||||
static void
|
||||
@@ -103,8 +105,12 @@ void mouse_panel_set_device(MousePanel* self, device_t* device)
|
||||
int (*driver_mouse_motion_sync_get)(void*, bool*) = dlsym(device_driver(device), "driver_mouse_motion_sync_get");
|
||||
int motionsync_res = driver_mouse_motion_sync_get(device_handle(device), &motion_sync);
|
||||
if(!motionsync_res)
|
||||
{
|
||||
adw_switch_row_set_active(self->motion_sync_switchrow, motion_sync);
|
||||
}
|
||||
|
||||
// Set mouse 'angle snap' feature
|
||||
bool angle_snap = false;
|
||||
int (*driver_mouse_angle_snap_get)(void*, bool*) = dlsym(device_driver(device), "driver_mouse_angle_snap_get");
|
||||
int anglesnap_res = driver_mouse_angle_snap_get(device_handle(device), &angle_snap);
|
||||
if(!anglesnap_res)
|
||||
adw_switch_row_set_active(self->angle_snap_switchrow, angle_snap);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user