Example #1
0
        public MediaPlayer()
        {
            InitializeComponent();

            this.btnMute.BackgroundImage  = UIHelper.LoadResourceImage("Resources.btn_volume_mute.png");
            this.btnPause.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_pause.png");
            this.btnPlay.BackgroundImage  = UIHelper.LoadResourceImage("Resources.btn_play.png");
            this.btnStop.BackgroundImage  = UIHelper.LoadResourceImage("Resources.btn_stop.png");
            this.pnlVideo.BackgroundImage = UIHelper.LoadResourceImage("Resources.pnl_video.png");

            fFactory = new MediaPlayerFactory(FIND_LIBVLC);
            fPlayer  = fFactory.CreatePlayer <IDiskPlayer>();

            fPlayer.Events.PlayerPositionChanged += Events_PlayerPositionChanged;
            fPlayer.Events.TimeChanged           += Events_TimeChanged;
            fPlayer.Events.MediaEnded            += Events_MediaEnded;
            fPlayer.Events.PlayerStopped         += Events_PlayerStopped;

            fPlayer.WindowHandle = pnlVideo.Handle;

            trkVolume.Value = Math.Max(0, fPlayer.Volume);
            trkVolume_Scroll(null, null);

            fMedia = null;

            UISync.Init(this);
        }
Example #2
0
        private Rectangle GetCloseButtonRect(Rectangle tabRect)
        {
            Image closeImg    = UIHelper.LoadResourceImage("Resources.btn_close.png");
            int   closeX      = tabRect.Right - TAB_PADDING - closeImg.Width;
            int   closeY      = (tabRect.Height - closeImg.Height + tabRect.Y) / 2;
            var   closeButton = new Rectangle(closeX, closeY, closeImg.Width, closeImg.Height);

            return(closeButton);
        }
Example #3
0
        // TODO: Temp version, on future
        public IImage LoadResourceImage(string resName, bool makeTransp)
        {
            Bitmap img = UIHelper.LoadResourceImage("Resources." + resName);

            if (makeTransp)
            {
            }

            return(new ImageHandler(img));
        }
Example #4
0
        private void InitializeComponent()
        {
            toolStrip    = new ToolStrip();
            btnSizeToFit = new ToolStripButton();
            btnZoomIn    = new ToolStripButton();
            btnZoomOut   = new ToolStripButton();
            cbZoomLevels = new ToolStripComboBox();
            imageBox     = new ImageBox();
            toolStrip.SuspendLayout();
            SuspendLayout();

            toolStrip.Items.AddRange(new ToolStripItem[] {
                btnSizeToFit,
                btnZoomIn,
                btnZoomOut,
                new ToolStripSeparator(),
                cbZoomLevels,
                new ToolStripSeparator()
            });

            btnSizeToFit.DisplayStyle          = ToolStripItemDisplayStyle.Image;
            btnSizeToFit.Image                 = UIHelper.LoadResourceImage("Resources.btn_size_to_fit.png");
            btnSizeToFit.ImageTransparentColor = Color.Magenta;
            btnSizeToFit.Name   = "btnSizeToFit";
            btnSizeToFit.Click += btnSizeToFit_Click;

            btnZoomIn.DisplayStyle          = ToolStripItemDisplayStyle.Image;
            btnZoomIn.Image                 = UIHelper.LoadResourceImage("Resources.btn_zoom_in.png");
            btnZoomIn.ImageTransparentColor = Color.Magenta;
            btnZoomIn.Name   = "btnZoomIn";
            btnZoomIn.Click += btnZoomIn_Click;

            btnZoomOut.DisplayStyle          = ToolStripItemDisplayStyle.Image;
            btnZoomOut.Image                 = UIHelper.LoadResourceImage("Resources.btn_zoom_out.png");
            btnZoomOut.ImageTransparentColor = Color.Magenta;
            btnZoomOut.Name   = "btnZoomOut";
            btnZoomOut.Click += btnZoomOut_Click;

            cbZoomLevels.DropDownStyle         = ComboBoxStyle.DropDownList;
            cbZoomLevels.Name                  = "zoomLevelsToolStripComboBox";
            cbZoomLevels.Size                  = new Size(140, 28);
            cbZoomLevels.SelectedIndexChanged += cbZoomLevels_SelectedIndexChanged;

            imageBox.BackColor    = SystemColors.ControlDark;
            imageBox.Dock         = DockStyle.Fill;
            imageBox.ZoomChanged += imageBox_ZoomChanged;

            Controls.Add(imageBox);
            Controls.Add(toolStrip);
            Size = new Size(944, 389);
            toolStrip.ResumeLayout(false);
            toolStrip.PerformLayout();
            ResumeLayout(false);
            PerformLayout();
        }
Example #5
0
        private void btnMute_Click(object sender, EventArgs e)
        {
            fPlayer.ToggleMute();

            if (fPlayer.Mute)
            {
                btnMute.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_volume_mute.png");
            }
            else
            {
                trkVolume_Scroll(sender, e);
            }
        }
Example #6
0
        private void InitializeComponent()
        {
            SuspendLayout();

            if (fPasswordMode)
            {
                txtValue = new PasswordBox();
                ((PasswordBox)txtValue).PasswordChar = '*';
            }
            else
            {
                txtValue = new TextBox();
            }
            //txtValue.Size = new Size(354, 20);

            label1 = new Label();
            //label1.Size = new Size(35, 13);
            label1.Text = "label1";

            btnAccept = new Button();
            btnAccept.ImagePosition = ButtonImagePosition.Left;
            btnAccept.Size          = new Size(130, 26);
            btnAccept.Text          = "btnAccept";
            btnAccept.Click        += btnAccept_Click;
            btnAccept.Image         = UIHelper.LoadResourceImage("Resources.btn_accept.gif");

            btnCancel = new Button();
            btnCancel.ImagePosition = ButtonImagePosition.Left;
            btnCancel.Size          = new Size(130, 26);
            btnCancel.Text          = "btnCancel";
            btnCancel.Click        += btnCancel_Click;
            btnCancel.Image         = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");

            Content = new DefTableLayout {
                Rows =
                {
                    new TableRow(label1),
                    new TableRow(txtValue),
                    UIHelper.MakeDialogFooter(null,btnAccept, btnCancel)
                }
            };

            Maximizable   = false;
            Minimizable   = false;
            ShowInTaskbar = false;
            Title         = "InputBox";
            Topmost       = true;

            SetPredefProperties(380, 100);
            ResumeLayout();
        }
Example #7
0
        public IImage LoadResourceImage(string resName, bool makeTransp)
        {
            Bitmap img = (Bitmap)UIHelper.LoadResourceImage("Resources." + resName);

            if (makeTransp)
            {
                img = (Bitmap)img.Clone();

                #if __MonoCS__
                img.MakeTransparent();
                #else
                img.MakeTransparent(img.GetPixel(0, 0));
                #endif
            }

            return(new ImageHandler(img));
        }
Example #8
0
        public IImage GetResourceImage(string resName, bool makeTransp)
        {
            Bitmap img = UIHelper.LoadResourceImage("Resources." + resName);

            if (makeTransp)
            {
                // only for 24, 32 bit images

                /*Color pixColor = img.GetPixel(0, 0);
                 * if (pixColor != Colors.Transparent) {
                 *  img = (Bitmap)img.Clone();
                 *
                 *  using (Graphics gfx = new Graphics(img)) {
                 *      gfx.Clear(pixColor);
                 *  }
                 * }*/
            }

            return(new ImageHandler(img));
        }
Example #9
0
        private void trkVolume_Scroll(object sender, EventArgs e)
        {
            fPlayer.Mute   = false;
            fPlayer.Volume = trkVolume.Value;

            if (100 >= fPlayer.Volume && fPlayer.Volume > 50)
            {
                btnMute.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_volume_max.png");
            }
            if (50 >= fPlayer.Volume && fPlayer.Volume > 5)
            {
                btnMute.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_volume_middle.png");
            }
            if (5 >= fPlayer.Volume && fPlayer.Volume > 0)
            {
                btnMute.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_volume_min.png");
            }
            if (fPlayer.Volume == 0)
            {
                btnMute.BackgroundImage = UIHelper.LoadResourceImage("Resources.btn_volume_mute.png");
            }
        }
Example #10
0
        private GKInputBox(string caption, string prompt, string value, NumbersMode numbersMode, bool pwMode = false)
        {
            InitializeComponent();

            btnAccept.Image = UIHelper.LoadResourceImage("Resources.btn_accept.gif");
            btnCancel.Image = UIHelper.LoadResourceImage("Resources.btn_cancel.gif");

            Text         = caption;
            label1.Text  = prompt;
            Value        = value;
            fNumbersMode = numbersMode;

            if (pwMode)
            {
                txtValue.PasswordChar = '*';
            }

            AcceptButton = btnAccept;
            CancelButton = btnCancel;

            btnAccept.Text = LangMan.LS(LSID.LSID_DlgAccept);
            btnCancel.Text = LangMan.LS(LSID.LSID_DlgCancel);
        }
Example #11
0
        public GKSheetList(Panel owner)
        {
            if (owner == null)
            {
                throw new ArgumentNullException("owner");
            }

            fBtnMoveDown         = new Button();
            fBtnMoveDown.Image   = UIHelper.LoadResourceImage("Resources.btn_down.gif");
            fBtnMoveDown.Size    = UIHelper.ShortButtonSize;
            fBtnMoveDown.ToolTip = LangMan.LS(LSID.LSID_RecordMoveDown);
            fBtnMoveDown.Click  += ItemMoveDown;

            fBtnMoveUp         = new Button();
            fBtnMoveUp.Image   = UIHelper.LoadResourceImage("Resources.btn_up.gif");
            fBtnMoveUp.Size    = UIHelper.ShortButtonSize;
            fBtnMoveUp.ToolTip = LangMan.LS(LSID.LSID_RecordMoveUp);
            fBtnMoveUp.Click  += ItemMoveUp;

            fBtnLinkJump         = new Button();
            fBtnLinkJump.Image   = UIHelper.LoadResourceImage("Resources.btn_jump.gif");
            fBtnLinkJump.Size    = UIHelper.ShortButtonSize;
            fBtnLinkJump.ToolTip = LangMan.LS(LSID.LSID_RecordGoto);
            fBtnLinkJump.Click  += ItemJump;

            fBtnDelete         = new Button();
            fBtnDelete.Image   = UIHelper.LoadResourceImage("Resources.btn_rec_delete.gif");
            fBtnDelete.Size    = UIHelper.ShortButtonSize;
            fBtnDelete.ToolTip = LangMan.LS(LSID.LSID_MIRecordDelete);
            fBtnDelete.Click  += ItemDelete;

            fBtnEdit         = new Button();
            fBtnEdit.Image   = UIHelper.LoadResourceImage("Resources.btn_rec_edit.gif");
            fBtnEdit.Size    = UIHelper.ShortButtonSize;
            fBtnEdit.ToolTip = LangMan.LS(LSID.LSID_MIRecordEdit);
            fBtnEdit.Click  += ItemEdit;

            fBtnAdd         = new Button();
            fBtnAdd.Image   = UIHelper.LoadResourceImage("Resources.btn_rec_new.gif");
            fBtnAdd.Size    = UIHelper.ShortButtonSize;
            fBtnAdd.ToolTip = LangMan.LS(LSID.LSID_MIRecordAdd);
            fBtnAdd.Click  += ItemAdd;

            fList = new GKListView();
            fList.MouseDoubleClick += List_DoubleClick;
            fList.KeyDown          += List_KeyDown;

            SuspendLayout();

            var toolbar = new DefStackLayout(Orientation.Vertical, 4,
                                             fBtnAdd, fBtnEdit, fBtnDelete,
                                             fBtnLinkJump, fBtnMoveUp, fBtnMoveDown);

            var tab = new TableLayout(2, 1);

            tab.Spacing = new Size(4, 4);
            tab.SetColumnScale(0, true);
            tab.SetColumnScale(1, false);
            tab.Add(fList, 0, 0);
            tab.Add(toolbar, 1, 0);

            Content = tab;
            ResumeLayout();

            owner.SuspendLayout();
            owner.Content = this;
            owner.ResumeLayout();

            fButtons = EnumSet <SheetButton> .Create(SheetButton.lbAdd, SheetButton.lbEdit, SheetButton.lbDelete);

            fListModel = null;
        }
Example #12
0
        private void InitializeComponent()
        {
            SuspendLayout();

            btnSizeToFit        = new Button();
            btnSizeToFit.Size   = new Size(28, 28);
            btnSizeToFit.Image  = UIHelper.LoadResourceImage("Resources.btn_size_to_fit.png");
            btnSizeToFit.Click += btnSizeToFit_Click;

            btnZoomIn        = new Button();
            btnZoomIn.Size   = new Size(28, 28);
            btnZoomIn.Image  = UIHelper.LoadResourceImage("Resources.btn_zoom_in.png");
            btnZoomIn.Click += btnZoomIn_Click;

            btnZoomOut        = new Button();
            btnZoomOut.Size   = new Size(28, 28);
            btnZoomOut.Image  = UIHelper.LoadResourceImage("Resources.btn_zoom_out.png");
            btnZoomOut.Click += btnZoomOut_Click;

            cbZoomLevels          = new ComboBox();
            cbZoomLevels.ReadOnly = true;
            cbZoomLevels.Size     = new Size(140, 28);
            cbZoomLevels.TextChanged /*SelectedIndexChanged*/ += cbZoomLevels_SelectedIndexChanged;

            toolStrip         = new Panel();
            toolStrip.Content = new StackLayout()
            {
                Orientation = Orientation.Horizontal,
                Spacing     = 10,
                Items       =
                {
                    btnSizeToFit,
                    btnZoomIn,
                    btnZoomOut,
                    cbZoomLevels
                }
            };

            imageBox                  = new ImageBox();
            imageBox.AllowZoom        = true;
            imageBox.BackgroundColor  = Colors.Gray;
            imageBox.ImageBorderColor = Colors.AliceBlue;
            imageBox.ImageBorderStyle = ImageBoxBorderStyle.FixedSingleGlowShadow;
            imageBox.SelectionMode    = ImageBoxSelectionMode.Zoom;
            imageBox.ZoomChanged     += imageBox_ZoomChanged;

            Content = new TableLayout()
            {
                Rows =
                {
                    new TableRow()
                    {
                        Cells ={ toolStrip             }
                    },
                    new TableRow()
                    {
                        ScaleHeight = true,
                        Cells       = { imageBox }
                    }
                }
            };

            ResumeLayout();
        }
Example #13
0
        public GKSheetList(Control owner)
        {
            if (owner == null)
            {
                throw new ArgumentNullException("owner");
            }

            fBtnMoveDown             = new ToolStripButton();
            fBtnMoveDown.Image       = UIHelper.LoadResourceImage("Resources.btn_down.gif");
            fBtnMoveDown.ToolTipText = LangMan.LS(LSID.LSID_RecordMoveDown);
            fBtnMoveDown.Click      += ItemMoveDown;

            fBtnMoveUp             = new ToolStripButton();
            fBtnMoveUp.Image       = UIHelper.LoadResourceImage("Resources.btn_up.gif");
            fBtnMoveUp.ToolTipText = LangMan.LS(LSID.LSID_RecordMoveUp);
            fBtnMoveUp.Click      += ItemMoveUp;

            fBtnLinkJump             = new ToolStripButton();
            fBtnLinkJump.Image       = UIHelper.LoadResourceImage("Resources.btn_jump.gif");
            fBtnLinkJump.ToolTipText = LangMan.LS(LSID.LSID_RecordGoto);
            fBtnLinkJump.Click      += ItemJump;

            fBtnDelete             = new ToolStripButton();
            fBtnDelete.Name        = "btnDelete";
            fBtnDelete.Image       = UIHelper.LoadResourceImage("Resources.btn_rec_delete.gif");
            fBtnDelete.ToolTipText = LangMan.LS(LSID.LSID_MIRecordDelete);
            fBtnDelete.Click      += ItemDelete;

            fBtnEdit             = new ToolStripButton();
            fBtnEdit.Name        = "btnEdit";
            fBtnEdit.Image       = UIHelper.LoadResourceImage("Resources.btn_rec_edit.gif");
            fBtnEdit.ToolTipText = LangMan.LS(LSID.LSID_MIRecordEdit);
            fBtnEdit.Click      += ItemEdit;

            fBtnAdd             = new ToolStripButton();
            fBtnAdd.Name        = "btnAdd";
            fBtnAdd.Image       = UIHelper.LoadResourceImage("Resources.btn_rec_new.gif");
            fBtnAdd.ToolTipText = LangMan.LS(LSID.LSID_MIRecordAdd);
            fBtnAdd.Click      += ItemAdd;

            fToolBar      = new ToolStrip();
            fToolBar.Name = "ToolBar";
            fToolBar.Dock = DockStyle.Right;
            fToolBar.Items.AddRange(new ToolStripItem[] {
                fBtnAdd,
                fBtnEdit,
                fBtnDelete,
                fBtnLinkJump,
                fBtnMoveUp,
                fBtnMoveDown
            });
            fToolBar.GripStyle        = ToolStripGripStyle.Hidden;
            fToolBar.ImageScalingSize = new Size(24, 20);
            fToolBar.AutoSize         = true;
            fToolBar.ShowItemToolTips = true;

            fList               = new GKListView();
            fList.Dock          = DockStyle.Fill;
            fList.Location      = new Point(0, 0);
            fList.Size          = new Size(500, 290);
            fList.HideSelection = false;
            fList.LabelEdit     = false;
            fList.FullRowSelect = true;
            fList.View          = View.Details;
            fList.DoubleClick  += List_DoubleClick;
            fList.KeyDown      += List_KeyDown;

            SuspendLayout();
            Controls.Add(fList);
            Controls.Add(fToolBar);
            ResumeLayout(false);

            Dock = DockStyle.Fill;

            owner.SuspendLayout();
            owner.Controls.Add(this);
            owner.ResumeLayout(false);

            fButtons = EnumSet <SheetButton> .Create(SheetButton.lbAdd, SheetButton.lbEdit, SheetButton.lbDelete);

            fListModel = null;
        }
Example #14
0
        protected override void OnDrawItem(DrawItemEventArgs e)
        {
            var     gfx        = e.Graphics;
            TabPage tabPage    = TabPages[e.Index];
            bool    isSelected = (e.State == DrawItemState.Selected);

            int iconX = e.Bounds.X, iconY = 0;

            // I used this as a rectangle because otherwise there is nasty looking line below each tab.
            Rectangle innerRec = new Rectangle(e.Bounds.X, e.Bounds.Y, e.Bounds.Width, e.Bounds.Height + 2);

            // Draw the border background.
            if (isSelected)
            {
                // Selected tab
                using (var brush = new SolidBrush(Color.White))
                    gfx.FillRectangle(brush, innerRec);
            }
            else if (tabPage != null && e.State == DrawItemState.HotLight)
            {
                // When hovering over not selected tab.
                using (var brush = new LinearGradientBrush(innerRec, Color.White, Color.LightBlue, LinearGradientMode.Vertical))
                    gfx.FillRectangle(brush, innerRec);
            }
            else
            {
                // Non selected tab.
                using (var brush = new LinearGradientBrush(innerRec, Color.White, Color.LightGray, LinearGradientMode.Vertical))
                    gfx.FillRectangle(brush, innerRec);
            }

            if (tabPage != null)
            {
                string tabText = tabPage.Text;

                // Draw the tab icon if exists.
                if (ImageList != null && (tabPage.ImageIndex > -1 || !string.IsNullOrEmpty(tabPage.ImageKey)))
                {
                    Image img;

                    if (tabPage.ImageIndex > -1)
                    {
                        img = ImageList.Images[tabPage.ImageIndex];
                    }
                    else
                    {
                        img = ImageList.Images[tabPage.ImageKey];
                    }

                    if (img != null)
                    {
                        iconX = innerRec.X + TAB_PADDING;
                        iconY = (innerRec.Height - img.Height) / 2;

                        gfx.DrawImageUnscaled(img, iconX, iconY + innerRec.Y);

                        iconX += img.Width;
                    }
                }

                var closeRect = GetCloseButtonRect(innerRec);

                // Draw the close button.
                //if (tab.HasCloseButton)
                {
                    Image closeImg = UIHelper.LoadResourceImage("Resources.btn_close.png");

                    if (closeImg != null)
                    {
                        gfx.DrawImageUnscaled(closeImg, closeRect.Left, closeRect.Top + innerRec.Y);
                    }
                    else
                    {
                        using (var xFont = new Font(e.Font, FontStyle.Bold)) {
                            Font font = (isSelected) ? xFont : e.Font;
                            gfx.DrawString("x", font, Brushes.Black, closeRect.Left, closeRect.Top);
                        }
                    }
                }

                // Draw the text. If the text is too long then cut off the end and add '...'
                // To avoid this behaviour, set the TabControl.ItemSize to larger value.

                var tabFont     = isSelected ? new Font(e.Font, FontStyle.Bold) : e.Font;
                var tabTextSize = gfx.MeasureString(tabText, tabFont);

                var textX = iconX + TAB_PADDING;
                var textY = (innerRec.Height - tabTextSize.Height + innerRec.Y) / 2;

                // Calculate if the text fits as is. If not then trim it.
                if (textX + tabTextSize.Width > closeRect.Left - TAB_PADDING)
                {
                    tabText = TrimTextToFit(gfx, tabText.Substring(0, tabText.Length - 1), tabFont, closeRect.Left - TAB_PADDING - textX);
                }

                gfx.DrawString(tabText, tabFont, Brushes.Black, textX, textY + innerRec.Y);
            }
        }
Example #15
0
        private void InitializeComponent()
        {
            SuspendLayout();

            trkPosition               = new Slider();
            trkPosition.MaxValue      = 100;
            trkPosition.Size          = new Size(610, 32);
            trkPosition.ValueChanged += trkPosition_Scroll;

            lblDuration      = new Label();
            lblDuration.Size = new Size(49, 13);
            lblDuration.Text = "00:00:00 / 00:00:00";

            //

            btnPause               = new Button();
            btnPause.Image         = UIHelper.LoadResourceImage("Resources.btnPause");
            btnPause.ImagePosition = ButtonImagePosition.Overlay;
            btnPause.Size          = new Size(40, 40);
            btnPause.Click        += btnPause_Click;

            btnPlay               = new Button();
            btnPlay.Image         = UIHelper.LoadResourceImage("Resources.btnPlay");
            btnPlay.ImagePosition = ButtonImagePosition.Overlay;
            btnPlay.Size          = new Size(40, 40);
            btnPlay.Click        += btnPlay_Click;

            btnStop               = new Button();
            btnStop.Image         = UIHelper.LoadResourceImage("Resources.btnStop");
            btnStop.ImagePosition = ButtonImagePosition.Overlay;
            btnStop.Size          = new Size(40, 40);
            btnStop.Click        += btnStop_Click;

            //

            btnMute               = new Button();
            btnMute.Image         = UIHelper.LoadResourceImage("Resources.btnVolumeMute.gif");
            btnMute.ImagePosition = ButtonImagePosition.Overlay;
            btnMute.Size          = new Size(40, 40);
            btnMute.Click        += btnMute_Click;

            trkVolume          = new Slider();
            trkVolume.MaxValue = 100;
            trkVolume.Size     = new Size(116, 45);
            //trkVolume.TickStyle = TickStyle.None;
            trkVolume.ValueChanged += trkVolume_Scroll;

            pnlControls         = new Panel();
            pnlControls.Content = new TableLayout()
            {
                Rows =
                {
                    new TableRow {
                        Cells =  { trkPosition,                     lblDuration }
                    },
                    new TableRow {
                        Cells =  { TableLayout.Horizontal(btnPause, btnPlay, btnStop, null), TableLayout.Horizontal(btnMute, trkVolume)}
                    }
                }
            };

            pnlVideo = new Panel();
            pnlVideo.BackgroundColor = SystemColors.ControlText;
            //pnlVideo.BackgroundImage = global::ExtResources.pnlVideo;
            //pnlVideo.BackgroundImageLayout = ImageLayout.Center;
            //pnlVideo.BorderStyle = BorderStyle.Fixed3D;

            Content = new TableLayout()
            {
                Rows =
                {
                    new TableRow {
                        ScaleHeight = true,
                        Cells       = { pnlVideo }
                    },
                    new TableRow {
                        Cells =  { pnlControls   }
                    }
                }
            };

            //Size = new Size(770, 457);

            ResumeLayout();
        }