public static Xwt.Size GetSize(this IconSize size) { var displayScale = Platform.IsWindows ? GtkWorkarounds.GetScaleFactor() : 1.0; int w, h; size.GetSize(out w, out h); return(new Xwt.Size((double)w / displayScale, (double)h / displayScale)); }
private void BuildWidget() { var yscale = 0f; if (Platform.IsWindows) { yscale = (float)GtkWorkarounds.GetScaleFactor(this); } alignment = new Alignment(0.5f, 0.5f, 1f, yscale); alignment.SetPadding(1, 1, 3, 3); VisibleWindow = false; box = new HBox(); entry = new FramelessEntry(this); entry.UseNativeContextMenus(); filter_button = new HoverImageButton(IconSize.Menu, "md-searchbox-search"); clear_button = new HoverImageButton(IconSize.Menu, "md-searchbox-clear"); entryAlignment = new Gtk.Alignment(0.5f, 0.5f, 1f, 1f); alignment.SetPadding(0, 0, 3, 3); entryAlignment.Add(entry); box.PackStart(filter_button, false, false, 0); box.PackStart(entryAlignment, true, true, 0); box.PackStart(clear_button, false, false, 0); alignment.Add(box); Add(alignment); alignment.ShowAll(); entry.StyleSet += OnInnerEntryStyleSet; entry.StateChanged += OnInnerEntryStateChanged; entry.FocusInEvent += OnInnerEntryFocusEvent; entry.FocusOutEvent += OnInnerEntryFocusEvent; entry.Changed += OnInnerEntryChanged; entry.Activated += delegate { NotifyActivated(); }; filter_button.CanFocus = false; clear_button.CanFocus = false; filter_button.ButtonReleaseEvent += OnButtonReleaseEvent; clear_button.ButtonReleaseEvent += OnButtonReleaseEvent; clear_button.Clicked += OnClearButtonClicked; ShowHideButtons(); }
static void UpdateXwtDefaults() { // Xwt default dialog icons Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.InformationIcon = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog); Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.WarningIcon = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog); Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.ErrorIcon = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog); Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.QuestionIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog); Xwt.Toolkit.CurrentEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog); if (Platform.IsMac && UserInterfaceTheme == Theme.Dark) { // dark NSAppearance can not handle custom drawn images in dialogs Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.InformationIcon = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor()); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.WarningIcon = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor()); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ErrorIcon = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor()); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.QuestionIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor()); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog).ToBitmap(GtkWorkarounds.GetScaleFactor()); } else { Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.InformationIcon = ImageService.GetIcon("gtk-dialog-info", Gtk.IconSize.Dialog); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.WarningIcon = ImageService.GetIcon("gtk-dialog-warning", Gtk.IconSize.Dialog); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ErrorIcon = ImageService.GetIcon("gtk-dialog-error", Gtk.IconSize.Dialog); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.QuestionIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog); Xwt.Toolkit.NativeEngine.Defaults.MessageDialog.ConfirmationIcon = ImageService.GetIcon("gtk-dialog-question", Gtk.IconSize.Dialog); } Xwt.Toolkit.CurrentEngine.Defaults.FallbackLinkColor = Styles.LinkForegroundColor; Xwt.Toolkit.NativeEngine.Defaults.FallbackLinkColor = Styles.LinkForegroundColor; }