void DrawBackground(Canvas canvas, int width, int height, bool pressed) { var paint = new Paint { AntiAlias = true }; var path = new APath(); float borderRadius = ConvertCornerRadiusToPixels(); RectF rect = new RectF(0, 0, width, height); rect.Inset(PaddingLeft, PaddingTop); path.AddRoundRect(rect, borderRadius, borderRadius, APath.Direction.Cw); paint.Color = pressed ? PressedBackgroundColor.ToAndroid() : BackgroundColor.ToAndroid(); paint.SetStyle(Paint.Style.Fill); paint.SetShadowLayer(_shadowRadius, _shadowDx, _shadowDy, _shadowColor); if (BorderElement.IsBackgroundSet()) { Brush background = BorderElement.Background; paint.UpdateBackground(background, height, width); } canvas.DrawPath(path, paint); }
public IElement Create() { var label = new LabelElement("Test"); var align = new AlignmentElement(label) { VerticalAlignment = Alignment.Last, HorizontalAlignment = Alignment.Last }; var border = new BorderElement(align) { Border = BorderStyle.SingleLine }; var size = new SizeElement(border) { Size = new BoxConstraint(9, int.MaxValue, 5, int.MaxValue) }; var style = new StyleElement(size) { Style = new Style() { Background = Color.BurlyWood, Foreground = Color.Black } }; var label2 = new LabelElement("sup"); var border2 = new BorderElement(label2) { Border = BorderStyle.DoubleLine }; var align2 = new AlignmentElement(border2) { VerticalAlignment = Alignment.Middle, HorizontalAlignment = Alignment.Last }; var stack = new FlexLayoutElement(Axis.Vertical, new IElement[] { style, align2 }); var stack2 = new FlexLayoutElement(Axis.Horizontal, new IElement[] { new AlignmentElement(new LabelElement("hi")) { HorizontalAlignment = Alignment.Middle, VerticalAlignment = Alignment.Middle }, new LabelElement("hib"), stack }) { ItemSpacing = FlexSpacing.Evenly }; return(stack2); }
float ConvertCornerRadiusToPixels() { int cornerRadius = DefaultCornerRadius; if (BorderElement.IsCornerRadiusSet() && BorderElement.CornerRadius != (int)BorderElement.CornerRadiusDefaultValue) cornerRadius = BorderElement.CornerRadius; return _convertToPixels(cornerRadius); }
/// <summary> /// Disposes the control. /// </summary> /// <param name="disposing">Whether Dispose has been called.</param> protected override void Dispose(bool disposing) { base.Dispose(disposing); if (disposing) { this.skinElement = null; this.borderElement = null; } }
public void LoadBorders() { Debug.WriteLine("Loading borders"); var selected = ConfigIni.SelectedBorders.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries); Directory.CreateDirectory(BorderElement.BackgroundsDirectory); var borderDirs = Directory.GetDirectories(BorderElement.BackgroundsDirectory); var borders = new List <BorderElement>(); foreach (var borderDir in borderDirs) { try { // Removing empty directories without errors try { var border = BorderElement.FromDirectory(borderDir); borders.Add((BorderElement)border); } catch (FileNotFoundException ex) // Remove bad directories if any { Debug.WriteLine(ex.Message + ex.StackTrace); Directory.Delete(borderDir, true); } } catch (Exception ex) { Debug.WriteLine(ex.Message + ex.StackTrace); MessageBox.Show(this, ex.Message, Resources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); continue; } } var bordersSorted = borders.OrderBy(o => o.Name); listViewBorders.Items.Clear(); var listViewItem = new ListViewItem("Default borders");// Resources.Default30games); listViewItem.Tag = "default"; listViewItem.Checked = selected.Contains("default"); listViewBorders.Items.Add(listViewItem); foreach (var border in bordersSorted) { listViewItem = new ListViewItem(border.Name); listViewItem.Tag = border; listViewItem.Checked = selected.Contains(border.Name); listViewBorders.Items.Add(listViewItem); } /* * RecalculateSelectedGames();*/ ShowSelected(); }
public void ShowSelected() { object selected = null; var selectedAll = listViewBorders.SelectedItems; if (selectedAll.Count == 1) { selected = selectedAll[0].Tag; } if (selected == null) { groupBoxDefaultBorders.Visible = false; groupBoxOptions.Visible = true; groupBoxOptions.Enabled = false; textBoxName.Text = ""; pictureBoxArt.Image = null; } else if (!(selected is BorderElement)) { groupBoxDefaultBorders.Visible = true; groupBoxOptions.Visible = false; groupBoxDefaultBorders.Enabled = listViewBorders.CheckedIndices.Contains(0); } else { var app = selected as BorderElement; groupBoxDefaultBorders.Visible = false; groupBoxOptions.Visible = true; textBoxName.Text = app.Name; if (File.Exists(app.IconPath)) { pictureBoxArt.Image = BorderElement.LoadBitmap(app.IconPath); } else { pictureBoxArt.Image = null; } groupBoxOptions.Enabled = true; } }
private void AddBorderZip(string[] files) { foreach (var file in files) { var ext = Path.GetExtension(file).ToLower(); var basename = Path.GetFileNameWithoutExtension(file); if (ext == ".7z" || ext == ".zip" || ext == ".rar") { SevenZipExtractor.SetLibraryPath(Path.Combine(Program.BaseDirectoryInternal, IntPtr.Size == 8 ? @"tools\7z64.dll" : @"tools\7z.dll")); using (var szExtractor = new SevenZipExtractor(file)) { szExtractor.PreserveDirectoryStructure = false; var filesInArchive = new List <string>(); var gameFilesInArchive = new List <string>(); List <string> lfiles = generateFileList(basename); int lcount = 0; foreach (var f in szExtractor.ArchiveFileNames) { if (lfiles.Contains(f)) { lcount++; } else { foreach (var ff in lfiles) { if (f.EndsWith(ff)) { lcount++; } } } filesInArchive.Add(f); } if (lcount == lfiles.Count) { string tmp = Path.Combine(BorderElement.BackgroundsDirectory, basename); Directory.CreateDirectory(tmp); szExtractor.ExtractArchive(tmp); BorderElement border = new BorderElement(tmp); bool found = false; foreach (var i in listViewBorders.Items) { if (((ListViewItem)(i)).Text == border.Name) { found = true; } } if (!found) { ListViewItem listViewItem = new ListViewItem(border.Name); listViewItem.Tag = border; listViewItem.Checked = true; listViewBorders.Items.Add(listViewItem); } } } } } }
public virtual void Render(Renderer renderer) { BorderElement.Render(renderer); }