Example #1
0
        public void SetTabletSize(TabletState tablet)
        {
            var tabletAreaEditor = absoluteModeEditor.tabletAreaEditor;

            if (tablet != null && tablet.Digitizer != null)
            {
                tabletAreaEditor.ViewModel.Background = new RectangleF[]
                {
                    new RectangleF(0, 0, tablet.Digitizer.Width, tablet.Digitizer.Height)
                };

                var settings = App.Settings;
                if (settings != null && settings.TabletWidth == 0 && settings.TabletHeight == 0)
                {
                    settings.TabletWidth  = tablet.Digitizer.Width;
                    settings.TabletHeight = tablet.Digitizer.Height;
                    settings.TabletX      = tablet.Digitizer.Width / 2;
                    settings.TabletY      = tablet.Digitizer.Height / 2;
                }
            }
            else
            {
                tabletAreaEditor.ViewModel.Background = null;
            }
        }
 public InputState(MouseState mouse = null, KeyboardState keyboard = null, TouchState touch = null, JoystickState joystick = null, MidiState midi = null, TabletState tablet = null)
 {
     Mouse    = mouse ?? new MouseState();
     Keyboard = keyboard ?? new KeyboardState();
     Touch    = touch ?? new TouchState();
     Joystick = joystick ?? new JoystickState();
     Midi     = midi ?? new MidiState();
     Tablet   = tablet ?? new TabletState();
 }
Example #3
0
 private void SetTablet(object sender, TabletState tablet)
 {
     Application.Instance.AsyncInvoke(() =>
     {
         this.Title           = tablet != null ? $"Tablet Visualizer - {tablet.TabletProperties.Name}" : "Tablet Visualizer";
         tabletNameLabel.Text = tablet?.TabletProperties?.Name ?? "No tablet detected.";
         display.SetTablet(tablet);
     });
 }
        public Area Convert(TabletState tablet, double top, double left, double bottom, double right)
        {
            double conversionFactor = GetConversionFactor(tablet);
            var    width            = (right - left) / conversionFactor;
            var    height           = (bottom - top) / conversionFactor;
            var    offsetX          = (width / 2) + (left / conversionFactor);
            var    offsetY          = (height / 2) + (top / conversionFactor);

            return(new Area((float)width, (float)height, new Vector2((float)offsetX, (float)offsetY), 0f));
        }
Example #5
0
        public Area Convert(TabletState tablet, double w, double h, double x, double y)
        {
            double conversionFactor = XP_PEN_AREA_CONSTANT;
            var    width            = w / conversionFactor;
            var    height           = h / conversionFactor;
            var    offsetX          = (width / 2) + (x / conversionFactor);
            var    offsetY          = (height / 2) + (y / conversionFactor);

            return(new Area((float)width, (float)height, new Vector2((float)offsetX, (float)offsetY), 0f));
        }
Example #6
0
        public Area Convert(TabletState tablet, double up, double left, double down, double right)
        {
            var digitizer = tablet.Digitizer;

            var width   = (right - left) * digitizer.Width;
            var height  = (down - up) * digitizer.Height;
            var offsetX = (width / 2) + (left * digitizer.Width);
            var offsetY = (height / 2) + (up * digitizer.Height);

            return(new Area((float)width, (float)height, new Vector2((float)offsetX, (float)offsetY), 0f));
        }
Example #7
0
        //
        // Received state pipe message
        //
        private void PipeState_MessageReceived(object sender, NamedPipeClient.NamedPipeEventArgs e)
        {
            GCHandle    gcHandle;
            TabletState readState;

            // Convert bytes to TabletState
            if (e.Message.Length == stateBytes.Length)
            {
                gcHandle  = GCHandle.Alloc(e.Message.Data, GCHandleType.Pinned);
                readState = (TabletState)Marshal.PtrToStructure(gcHandle.AddrOfPinnedObject(), typeof(TabletState));
                gcHandle.Free();
                tabletState = readState;
            }
        }
Example #8
0
    // Use this for initialization
    void Start()
    {
        // バッテリーフルチャージ
        BatteryFull();

        // タブレット画面をオフ
        tabletScreen.gameObject.SetActive(false);

        // タブレットの状態を終了状態に
        tabletState = TabletState.ShutDown;

        // タブレットを非表示に
        gameObject.SetActive(false);
    }
        public static void HandleBinding(TabletState tablet, IDeviceReport report)
        {
            if (tablet == null)
            {
                return;
            }

            if (report is ITabletReport tabletReport && tablet.Digitizer.ActiveReportID.IsInRange(tabletReport.ReportID))
            {
                HandlePenBinding(tablet.Digitizer, tabletReport);
            }
            if (report is IAuxReport auxReport)
            {
                HandleAuxBinding(auxReport);
            }
        }
Example #10
0
 /// <summary>
 /// タブレットの状態を切り替える
 /// </summary>
 public void ChangeStete()
 {
     // タブレットが起動していない状態なら
     if (tabletState == TabletState.ShutDown)
     {
         // タブレットの状態を起動中に
         tabletState = TabletState.Starting;
         StartUpTablet();
     }
     else
     {
         // タブレットの状態を終了に
         tabletState = TabletState.ShutDown;
         ShutDwonTablet();
     }
 }
Example #11
0
        public static void HandleBinding(TabletState tablet, IDeviceReport report)
        {
            if (tablet == null)
            {
                return;
            }

            var pen = tablet.Properties.Specifications.Pen;

            if (report is ITabletReport tabletReport && pen.ActiveReportID.IsInRange(tabletReport.ReportID))
            {
                HandleTabletReport(pen, tabletReport);
            }
            if (report is IAuxReport auxReport)
            {
                HandleAuxiliaryReport(auxReport);
            }
        }
Example #12
0
        private void SelectConverterForTablet(TabletState tablet)
        {
            tabletState = tablet;

            var vendorId = tabletState?.Digitizer?.VendorID;

            if (vendorId != null)
            {
                var vendor = (DeviceVendor)vendorId;
                converterList.Select(t => t.Vendor.HasFlag(vendor));
                applyButton.Enabled = true;
            }
            else
            {
                // Deselect if no tablet is detected
                converterList.SelectedIndex = -1;
            }
        }
 public void SetTablet(TabletState tablet) => this.tablet = tablet;
 private void HandleTabletChanged(object sender, TabletState tablet)
 {
     tabletVisualizer.SetTablet(tablet);
     this.Title = $"Tablet Debugger" + (tablet != null ? $" - {tablet.TabletProperties.Name}" : string.Empty);
 }
        protected double GetConversionFactor(TabletState tablet)
        {
            var digitizer = tablet.Properties.Specifications.Digitizer;

            return(digitizer.MaxX / digitizer.Width);
        }
Example #16
0
 public void UpdateTitle(TabletState tablet)
 {
     this.Title = $"OpenTabletDriver v{App.Version} - {tablet?.Properties?.Name ?? "No tablet detected"}";
 }
Example #17
0
        protected double GetConversionFactor(TabletState tablet)
        {
            var digitizer = tablet.Digitizer;

            return(digitizer.MaxX / digitizer.Width);
        }