Esempio n. 1
0
        private CPCBitmap.Document.Item GetSelectedItem()
        {
            if (lvFiles.SelectedIndices.Count == 0)
            {
                return(null);
            }

            int index = lvFiles.SelectedIndices[0];

            CPCBitmap.Document.Item item = Document.Items[index];
            return(item);
        }
Esempio n. 2
0
        private void cbGroupDelimiter_CheckedChanged(object sender, EventArgs e)
        {
            CPCBitmap.Document.Item item = GetSelectedItem();
            if (item == null)
            {
                return;
            }

            item.IsGroupDelimiter = cbGroupDelimiter.Checked;

            UpdateData();

            SetModified(true);
        }
Esempio n. 3
0
        private void BrowseCloud_Click(object sender, EventArgs e)
        {
            CPCBitmap.Document.Item item = GetSelectedItem();
            if (item == null)
            {
                return;
            }

            List <PhactoryHost.Database.Resource> cloudResource = Plugin.ControllerEditor.Host.ShowResourceSelector(Plugin.ControllerEditor.Host.GetResource(item.CloudResourceID), false, GetFilterExtension());

            if (cloudResource != null)
            {
                item.CloudResourceID = cloudResource[0].Id;

                SetCloudPreview(item.CloudResourceID);

                SetModified(true);
            }
        }
Esempio n. 4
0
        bool WriteFadePalette(Document.Document tempDocument,
                              string outputFadeFilename,
                              CPCBitmap.Document.Item item,
                              CPCBitmap.Document.Item targetItem)
        {
            int[]    fadeGateArrayPalette = new int[16];
            UInt16[] fadeCPCAsicPalette   = new UInt16[16] {
                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
            };

            for (int iClear = 0; iClear < 16; iClear++)
            {
                fadeGateArrayPalette[iClear] = tempDocument.GetCPCPaletteGateArray()[0];
            }

            for (int offset = 0; offset < item.IntermediateImage.Width * item.IntermediateImage.Height; offset++)
            {
                int palIndex       = item.IntermediateImage.Data[offset];
                int targetPalIndex = targetItem.IntermediateImage.Data[offset];

                int finalPalIndex  = tempDocument.GetCPCPaletteIndices()[palIndex];
                int gateArrayColor = tempDocument.GetCPCPaletteGateArray()[finalPalIndex];

                int finalIndex = targetPalIndex + tempDocument.StartIndex;
                if (finalIndex < 16)
                {
                    fadeGateArrayPalette[targetPalIndex + tempDocument.StartIndex] = gateArrayColor;
                }

                fadeCPCAsicPalette[targetPalIndex + tempDocument.StartIndex] = tempDocument.CPCAsicPalette[palIndex];
            }

            var bitmapCompiler = BitmapCompiler.CreateCompiler(tempDocument.VideoMode);

            if (!bitmapCompiler.WritePalette(outputFadeFilename, fadeGateArrayPalette, fadeCPCAsicPalette))
            {
                return(false);
            }

            return(true);
        }
Esempio n. 5
0
        private void pickColor_Click(object sender, EventArgs e)
        {
            CPCBitmap.Document.Item item = GetSelectedItem();
            if (item == null)
            {
                return;
            }

            PhactoryHost.Database.Resource bmpResource = Plugin.ControllerEditor.Host.GetResource(item.ResourceID);
            string filename = Plugin.ControllerEditor.Host.GetFileInfo(bmpResource).FullName;

            CPCBitmap.Editor.PreviewColorPicker previewColorPicker = new CPCBitmap.Editor.PreviewColorPicker();
            previewColorPicker.SetImage(Image.FromFile(filename));
            previewColorPicker.ShowDialog(this);

            this.PanelColorMask.BackColor = Color.FromArgb(previewColorPicker.GetPickedColor());

            this.cbColorMask.Checked  = true;
            this.cbMaskBitmap.Checked = false;
            UpdateData();
            SetModified(true);
        }
Esempio n. 6
0
        private void BrowseMask_Click(object sender, EventArgs e)
        {
            CPCBitmap.Document.Item item = GetSelectedItem();
            if (item == null)
            {
                return;
            }

            this.cbColorMask.Checked  = false;
            this.cbMaskBitmap.Checked = true;

            List <PhactoryHost.Database.Resource> maskResource = Plugin.ControllerEditor.Host.ShowResourceSelector(Plugin.ControllerEditor.Host.GetResource(item.MaskResourceID), false, GetFilterExtension());

            if (maskResource != null)
            {
                item.MaskResourceID = maskResource[0].Id;

                SetMaskPreview(item.MaskResourceID);

                SetModified(true);
            }
        }