Exemplo n.º 1
0
        public Task <bool> MovePicture(MovePoster e)
        {
            if (IsScanning || IsWaitingForPosition)
            {
                HandlePoster(e.Id, e.Position.Replace(":w=", string.Empty).Replace("l=", string.Empty).Split(' '));
            }

            return(Task.FromResult(true));
        }
Exemplo n.º 2
0
        private async void StartAligningAsync(object sender, EventArgs e)
        {
            if (IsScanning || Posters.Count != columnControl.Value * rowControl.Value && button4.Text != "Aligning...")
            {
                return;
            }

            Posters = Posters.OrderBy(id => id).ToList();

            button4.Text = "Aligning...";

            bool isRight = rotation == 'r';

            int limit       = Alternative ? 32 : 16;
            int height      = Alternative ? 16 : 8;
            int width       = Alternative ? 16 : 8;
            int heightAfter = (Alternative ? 8 : 4) * (isRight ? 1 : -1);

            for (int currentColumn = 0; currentColumn < columnControl.Value; currentColumn++)
            {
                for (int currentRow = 0; currentRow < rowControl.Value; currentRow++)
                {
                    int        tempL1     = (int)offsetX.Value + (width * currentColumn);
                    MovePoster movePoster = new MovePoster
                    {
                        Id       = Posters[(currentColumn * (int)rowControl.Value) + currentRow],
                        Position = string.Format(":w={0},{1} l={2},{3} {4}",
                                                 (int)W1Offset.Value,
                                                 (int)W2Offset.Value,
                                                 tempL1,
                                                 (int)(offsetY.Value + ((currentRow * height) + (currentColumn * heightAfter))),
                                                 rotation)
                    };

                    await _interceptor.SendToServerAsync(movePoster);

                    await Task.Delay(50);
                }
            }

            button4.Text = "Align";
        }
Exemplo n.º 3
0
        public async void UpdatePosition()
        {
            if (!IsScanning && Posters.Count == columnControl.Value * rowControl.Value)
            {
                MovePoster movePoster = new MovePoster
                {
                    Id       = Posters[0],
                    Position = string.Format(":w={0},{1} l={2},{3} {4}",
                                             (int)W1Offset.Value,
                                             (int)W2Offset.Value,
                                             (int)offsetX.Value,
                                             (int)offsetY.Value,
                                             rotation)
                };

                await _interceptor.SendToServerAsync(movePoster);

                if (Posters.Count >= 4)
                {
                    int height      = Alternative ? 16 : 8;
                    int width       = Alternative ? 16 : 8;
                    int heightAfter = (Alternative ? 8 : 4) * (rotation == 'r' ? 1 : -1);

                    int columns = (int)columnControl.Value - 1;
                    int rows    = (int)rowControl.Value - 1;

                    await Task.Delay(50);

                    movePoster.Id       = Posters[1];
                    movePoster.Position = string.Format(":w={0},{1} l={2},{3} {4}",
                                                        (int)W1Offset.Value,
                                                        (int)W2Offset.Value,
                                                        (int)offsetX.Value + (columns * width),
                                                        (int)offsetY.Value + (columns * heightAfter),
                                                        rotation);

                    await _interceptor.SendToServerAsync(movePoster);

                    await Task.Delay(50);

                    movePoster.Id       = Posters[2];
                    movePoster.Position = string.Format(":w={0},{1} l={2},{3} {4}",
                                                        (int)W1Offset.Value,
                                                        (int)W2Offset.Value,
                                                        (int)offsetX.Value,
                                                        (int)(offsetY.Value + (rows * height)),
                                                        rotation);

                    await _interceptor.SendToServerAsync(movePoster);

                    await Task.Delay(50);

                    movePoster.Id       = Posters[3];
                    movePoster.Position = string.Format(":w={0},{1} l={2},{3} {4}",
                                                        (int)W1Offset.Value,
                                                        (int)W2Offset.Value,
                                                        (int)offsetX.Value + (columns * width),
                                                        (int)(offsetY.Value + ((rows * height) + (columns * heightAfter))),
                                                        rotation);

                    await _interceptor.SendToServerAsync(movePoster);
                }
            }
        }