private void SetHeaderStyle(ViewDrawDocker drawDocker, PaletteTripleMetricRedirect palette, HeaderStyle style) { palette.SetStyles(style); if (_buttonManager != null) { switch (style) { case HeaderStyle.Primary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetPrimary, PaletteMetricPadding.HeaderButtonPaddingPrimary); break; case HeaderStyle.Secondary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetSecondary, PaletteMetricPadding.HeaderButtonPaddingSecondary); break; case HeaderStyle.DockActive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockActive, PaletteMetricPadding.HeaderButtonPaddingDockActive); break; case HeaderStyle.DockInactive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockInactive, PaletteMetricPadding.HeaderButtonPaddingDockInactive); break; case HeaderStyle.Form: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetForm, PaletteMetricPadding.HeaderButtonPaddingForm); break; case HeaderStyle.Calendar: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCalendar, PaletteMetricPadding.HeaderButtonPaddingCalendar); break; case HeaderStyle.Custom1: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom1, PaletteMetricPadding.HeaderButtonPaddingCustom1); break; case HeaderStyle.Custom2: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom2, PaletteMetricPadding.HeaderButtonPaddingCustom2); break; } } }
protected virtual void LoadViewState(object savedState) { object[] pieces = savedState as object[]; if (pieces == null) { return; } if (pieces[0] != null) { viewstate.LoadViewState(pieces[0]); } if (pieces[1] != null) { FooterStyle.LoadViewState(pieces[1]); } if (pieces[2] != null) { HeaderStyle.LoadViewState(pieces[2]); } if (pieces[3] != null) { ItemStyle.LoadViewState(pieces[3]); } }
private void RenderHeader(HtmlTextWriter writer) { //render Header row writer.RenderBeginTag(HtmlTextWriterTag.Tr); if (HeaderStyle != null) { HeaderStyle.AddAttributesToRender(writer); } writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(Localization.GetString(ID + "_Available", LocalResourceFile)); writer.RenderEndTag(); writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.RenderEndTag(); if (HeaderStyle != null) { HeaderStyle.AddAttributesToRender(writer); } writer.RenderBeginTag(HtmlTextWriterTag.Td); writer.Write(Localization.GetString(ID + "_Selected", LocalResourceFile)); writer.RenderEndTag(); //Render end of Header Row writer.RenderEndTag(); }
public Rect GetTopLabelRect(string newLabel, int padding = 5) { // Determine how large the label will be with the text Vector2 labelSize = HeaderStyle.CalcSize(new GUIContent(newLabel)); return(new Rect(Screen.width / 2 - ((labelSize.x + padding) / 2), 20 + padding, labelSize.x + padding, labelSize.y + padding)); }
/// <summary> /// Update the palette styles using a header style. /// </summary> /// <param name="headerStyle">New header style.</param> public void SetStyles(HeaderStyle headerStyle) { switch (headerStyle) { case HeaderStyle.Primary: SetStyles(PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary); break; case HeaderStyle.Secondary: SetStyles(PaletteBackStyle.HeaderSecondary, PaletteBorderStyle.HeaderSecondary, PaletteContentStyle.HeaderSecondary); break; case HeaderStyle.DockActive: SetStyles(PaletteBackStyle.HeaderDockActive, PaletteBorderStyle.HeaderDockActive, PaletteContentStyle.HeaderDockActive); break; case HeaderStyle.DockInactive: SetStyles(PaletteBackStyle.HeaderDockInactive, PaletteBorderStyle.HeaderDockInactive, PaletteContentStyle.HeaderDockInactive); break; case HeaderStyle.Form: SetStyles(PaletteBackStyle.HeaderForm, PaletteBorderStyle.HeaderForm, PaletteContentStyle.HeaderForm); break; case HeaderStyle.Calendar: SetStyles(PaletteBackStyle.HeaderCalendar, PaletteBorderStyle.HeaderCalendar, PaletteContentStyle.HeaderCalendar); break; case HeaderStyle.Custom1: SetStyles(PaletteBackStyle.HeaderCustom1, PaletteBorderStyle.HeaderCustom1, PaletteContentStyle.HeaderCustom1); break; case HeaderStyle.Custom2: SetStyles(PaletteBackStyle.HeaderCustom2, PaletteBorderStyle.HeaderCustom2, PaletteContentStyle.HeaderCustom2); break; default: // Should never happen! Debug.Assert(false); break; } }
private Vector2 HeaderContentSize() { // Manually add the icon size specified in preferences. // This was done because using CalcSize(HeaderContent) (with the icon set in GUIContent's image) // caused the nodes to be incorrectly sized when opening a tree from the inspector. // e.g. Clicking on a GameObjects tree asset from Bonsai Tree Component. float iconSize = BonsaiPreferences.Instance.iconSize; Vector2 size = HeaderStyle.CalcSize(new GUIContent(HeaderText())); return(new Vector2(size.x + iconSize, Mathf.Max(size.y, iconSize))); }
public override View GetSampleContent(Context context) { this.mContext = context; LinearLayout linearLayout = new LinearLayout(context); linearLayout.Orientation = Orientation.Vertical; //creating instance for Schedule sfSchedule = new SfSchedule(context); HeaderStyle headerStyle = new HeaderStyle(); headerStyle.BackgroundColor = Color.Argb(255, 214, 214, 214); headerStyle.TextColor = Color.Black; ViewHeaderStyle viewHeader = new ViewHeaderStyle(); viewHeader.BackgroundColor = Color.Argb(255, 28, 28, 28); viewHeader.DayTextColor = Color.Argb(255, 238, 199, 43); viewHeader.DateTextColor = Color.Argb(255, 238, 199, 43); sfSchedule.HeaderStyle = headerStyle; //sfSchedule.ViewHeaderStyle = viewHeader; DayViewSettings dayViewSettings = new DayViewSettings(); dayViewSettings.TimeSlotBorderStrokeWidth = 2; dayViewSettings.VerticalLineStrokeWidth = 0; dayViewSettings.VerticalLineColor = Color.Transparent; dayViewSettings.TimeSlotBorderColor = Color.LightGray; dayViewSettings.NonWorkingHoursTimeSlotBorderColor = Color.LightGray; sfSchedule.DayViewSettings = dayViewSettings; Button button = new Button(context); button.Text = "+ New event"; button.SetTextColor(Color.White); button.Gravity = GravityFlags.Left; button.SetBackgroundColor(Color.Rgb(0, 122, 255)); button.Click += Button_Click; sfSchedule.SelectionView = button; //set the appointment collection getAppointments(); sfSchedule.Appointments = appointmentCollection; sfSchedule.AppointmentViewLayout = ViewLayoutOptions.Overlay; sfSchedule.MonthCellLoaded += SfSchedule_MonthCellLoaded; sfSchedule.LayoutParameters = new FrameLayout.LayoutParams( LinearLayout.LayoutParams.MatchParent, LinearLayout.LayoutParams.MatchParent); sfSchedule.AppointmentLoaded += SfSchedule_AppointmentLoaded; sfSchedule.CellTapped += sfSchedule_ScheduleTapped; linearLayout.AddView(sfSchedule); return(linearLayout); }
static void Main(string[] args) { TextDocument doc = new TextDocument(); Paragraph headerParagraph = new Paragraph(); headerParagraph.Add("Header text"); Header header1 = new Header(); header1.Content.Add(headerParagraph); Paragraph footerParagraph = new Paragraph(); footerParagraph.Add("Footer text"); Footer footer1 = new Footer(); footer1.Content.Add(footerParagraph); HeaderStyle headerStyle1 = new HeaderStyle(); headerStyle1.BottomMargin = new Size(0.1965, Unit.Inch); FooterStyle footerStyle1 = new FooterStyle(); footerStyle1.TopMargin = new Size(0.1965, Unit.Inch); PageLayout pageLayout1 = new PageLayout(); pageLayout1.Name = "Layout1"; pageLayout1.HeaderStyle = headerStyle1; pageLayout1.FooterStyle = footerStyle1; doc.CommonStyles.AutomaticStyles = new AutomaticStyles(); doc.CommonStyles.AutomaticStyles.PageLayouts.Add(pageLayout1); MasterPage masterPage1 = new MasterPage(); masterPage1.Name = "Standard"; masterPage1.PageLayout = "Layout1"; masterPage1.Header = header1; masterPage1.Footer = footer1; doc.CommonStyles.MasterStyles = new MasterStyles(); doc.CommonStyles.MasterStyles.MasterPages.Add(masterPage1); doc.Save("c:\\test\\output.odt", true); }
/// <summary> /// Initialize a new instance of the KryptonHeader class. /// </summary> public KryptonHeader() { // The header cannot take the focus SetStyle(ControlStyles.Selectable, false); // Set default values _style = HeaderStyle.Primary; _orientation = VisualOrientation.Top; AllowButtonSpecToolTips = false; AllowButtonSpecToolTipPriority = false; // Create storage objects Values = new HeaderValues(NeedPaintDelegate); Values.TextChanged += OnHeaderTextChanged; ButtonSpecs = new HeaderButtonSpecCollection(this); // Create the palette storage StateCommon = new PaletteHeaderRedirect(Redirector, PaletteBackStyle.HeaderPrimary, PaletteBorderStyle.HeaderPrimary, PaletteContentStyle.HeaderPrimary, NeedPaintDelegate); StateDisabled = new PaletteTripleMetric(StateCommon, NeedPaintDelegate); StateNormal = new PaletteTripleMetric(StateCommon, NeedPaintDelegate); // Our view contains background and border with content inside _drawDocker = new ViewDrawDocker(StateNormal.Back, StateNormal.Border, null); _drawContent = new ViewDrawContent(StateNormal.Content, Values, Orientation); _drawDocker.Add(_drawContent, ViewDockStyle.Fill); // Create the view manager instance ViewManager = new ViewManager(this, _drawDocker); // Create button specification collection manager _buttonManager = new ButtonSpecManagerDraw(this, Redirector, ButtonSpecs, null, new ViewDrawDocker[] { _drawDocker }, new IPaletteMetric[] { StateCommon }, new PaletteMetricInt[] { PaletteMetricInt.HeaderButtonEdgeInsetPrimary }, new PaletteMetricPadding[] { PaletteMetricPadding.HeaderButtonPaddingPrimary }, CreateToolStripRenderer, NeedPaintDelegate); // Create the manager for handling tooltips ToolTipManager = new ToolTipManager(); ToolTipManager.ShowToolTip += OnShowToolTip; ToolTipManager.CancelToolTip += OnCancelToolTip; _buttonManager.ToolTipManager = ToolTipManager; // We want to be auto sized by default, but not the property default! AutoSize = true; AutoSizeMode = AutoSizeMode.GrowAndShrink; }
private void DrawPreview() { if (Properties.Settings.Default.UseChallengeBanner) { BaseBundle icon = new BaseBundle(Watermark_TxtBox.Text); using var ret = new SKBitmap(icon.Width, icon.HeaderHeight + icon.AdditionalSize, SKColorType.Rgba8888, SKAlphaType.Opaque); using var c = new SKCanvas(ret); HeaderStyle.DrawHeaderPaint(c, icon); HeaderStyle.DrawHeaderText(c, icon); QuestStyle.DrawQuests(c, icon); SKImage image = SKImage.FromBitmap(ret); using var encoded = image.Encode(); using var stream = encoded.AsStream(); BitmapImage photo = new BitmapImage(); photo.BeginInit(); photo.CacheOption = BitmapCacheOption.OnLoad; photo.StreamSource = stream; photo.EndInit(); photo.Freeze(); Application.Current.Dispatcher.Invoke(delegate { Preview_Img.Source = photo; }); } else { using SKBitmap challengeBase = SKBitmap.Decode(Application.GetResourceStream(new Uri($"pack://application:,,,/Resources/T_Placeholder_Challenge_Image.png")).Stream); SKImage image = SKImage.FromBitmap(challengeBase); using var encoded = image.Encode(); using var stream = encoded.AsStream(); BitmapImage photo = new BitmapImage(); photo.BeginInit(); photo.CacheOption = BitmapCacheOption.OnLoad; photo.StreamSource = stream; photo.EndInit(); photo.Freeze(); Application.Current.Dispatcher.Invoke(delegate { Preview_Img.Source = photo; }); } }
/// <summary> /// routine to assign display-style-properties. Handles propagation to HeaderStyle, FooterStyle and RowStyle. Assignment in aspx will not be overwritten. /// </summary> protected virtual void SetDefaultStyleItems() { this.Style.Add("class", "text"); // check that each property has not been set in the aspx before using the default). TableItemStyle myStyle = new TableItemStyle(); //properties for the outermost control (gridview) BorderColor = System.Drawing.Color.Gray; BorderStyle = BorderStyle.Outset; BorderWidth = Unit.Pixel(4); //new ItemStyle obj myStyle.BorderColor = BorderColor; myStyle.BorderStyle = BorderStyle; myStyle.BorderWidth = BorderWidth; // use as basis for other default styles HeaderStyle.MergeWith(myStyle); RowStyle.MergeWith(myStyle); FooterStyle.MergeWith(myStyle); }
protected override void LoadViewState(object savedState) { object[] state = (object[])savedState; base.LoadViewState(state [0]); if (state [1] != null) { ItemStyle.LoadViewState(state [1]); } if (state [2] != null) { SelectedItemStyle.LoadViewState(state [2]); } if (state [3] != null) { AlternatingItemStyle.LoadViewState(state [3]); } if (state [4] != null) { EditItemStyle.LoadViewState(state [4]); } if (state [5] != null) { SeparatorStyle.LoadViewState(state [5]); } if (state [6] != null) { HeaderStyle.LoadViewState(state [6]); } if (state [7] != null) { FooterStyle.LoadViewState(state [7]); } #if NET_2_0 if (state [8] != null) { ControlStyle.LoadViewState(state [8]); } #endif }
public ExportDoAssetsBase(IAssetsOptionService assetsOptionService, int doAssetsId) : base() { AssetsOptionService = assetsOptionService; DoAssetsId = doAssetsId; HeaderStyle = Workbook.CreateCellStyle(); HeaderStyle.Alignment = HorizontalAlignment.Center; HeaderStyle.VerticalAlignment = VerticalAlignment.Center; IFont font = Workbook.CreateFont(); font.Boldweight = short.MaxValue; HeaderStyle.SetFont(font); CommCellStyle = Workbook.CreateCellStyle(); CommCellStyle.VerticalAlignment = VerticalAlignment.Center; CommCellStyle.WrapText = true; FooterCellStyle = Workbook.CreateCellStyle(); FooterCellStyle.Alignment = HorizontalAlignment.Center; FooterCellStyle.VerticalAlignment = VerticalAlignment.Center; FooterCellStyle.WrapText = true; }
/// <summary> /// Initialize a new instance of the NavigatorHeader class. /// </summary> /// <param name="navigator">Reference to owning navigator instance.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> public NavigatorHeader(KryptonNavigator navigator, NeedPaintHandler needPaint) { Debug.Assert(navigator != null); // Remember back reference _navigator = navigator; // Store the provided paint notification delegate NeedPaint = needPaint; // Default values _headerStylePrimary = HeaderStyle.Primary; _headerStyleSecondary = HeaderStyle.Secondary; _headerStyleBar = HeaderStyle.Secondary; _headerPositionPrimary = VisualOrientation.Top; _headerPositionSecondary = VisualOrientation.Bottom; _headerPositionBar = VisualOrientation.Top; _headerVisiblePrimary = true; _headerVisibleSecondary = true; _headerVisibleBar = true; HeaderValuesPrimary = new HeaderGroupMappingPrimary(_navigator, needPaint); HeaderValuesSecondary = new HeaderGroupMappingSecondary(_navigator, needPaint); }
/// <summary> /// Initialize a new instance of the NavigatorHeader class. /// </summary> /// <param name="navigator">Reference to owning navigator instance.</param> /// <param name="needPaint">Delegate for notifying paint requests.</param> public NavigatorHeader(KryptonNavigator navigator, NeedPaintHandler needPaint) { Debug.Assert(navigator != null); // Remember back reference _navigator = navigator; // Store the provided paint notification delegate NeedPaint = needPaint; // Default values _headerStylePrimary = HeaderStyle.Primary; _headerStyleSecondary = HeaderStyle.Secondary; _headerStyleBar = HeaderStyle.Secondary; _headerPositionPrimary = VisualOrientation.Top; _headerPositionSecondary = VisualOrientation.Bottom; _headerPositionBar = VisualOrientation.Top; _headerVisiblePrimary = true; _headerVisibleSecondary = true; _headerVisibleBar = true; _headerValuesPrimary = new HeaderGroupMappingPrimary(_navigator, needPaint); _headerValuesSecondary = new HeaderGroupMappingSecondary(_navigator, needPaint); }
protected new void PrepareTextCell() { HeaderStyle.AssignToControl(TextCell, AttributesRange.Font); HeaderStyle.AssignToControl(TextCell, AttributesRange.Cell); RenderUtils.SetPaddings(TextCell, HeaderStyle.Paddings); if (NewButtonControl != null) { TextCell.HorizontalAlign = HorizontalAlign.Center; } if (Location == GridViewHeaderLocation.Group) { if (Grid.GroupPanelHeaderNoWrap) { RenderUtils.SetWrap(TextCell, DefaultBoolean.False); } if (HeaderStyle.Paddings.GetPaddingLeft().IsEmpty) { RenderUtils.SetStyleUnitAttribute(TextCell, "padding-left", Unit.Pixel(1)); } } if (Location == GridViewHeaderLocation.Customization) { var horizontalAlign = RenderHelper.GetCustomizationWindowContentStyle().HorizontalAlign; if (horizontalAlign != HorizontalAlign.NotSet) { RenderUtils.SetHorizontalAlign(TextCell, horizontalAlign); } } }
/// <summary> /// i don't cache images because i don't wanna store a lot of SKCanvas in the memory /// </summary> /// <returns>true if an icon has been drawn</returns> public static bool TryDrawIcon(string assetPath, FName[] exportTypes, IUExport[] exports) { var d = new DirectoryInfo(assetPath); string assetName = d.Name; string assetFolder = d.Parent.Name; if (Text.TypeFaces.NeedReload(false)) { Text.TypeFaces = new Typefaces(); // when opening bundle creator settings without loading paks first } int index = Globals.Game.ActualGame == EGame.Valorant ? 1 : 0; string exportType = exportTypes.Length > index ? exportTypes[index].String : string.Empty; switch (exportType) { case "AthenaConsumableEmoteItemDefinition": case "AthenaSkyDiveContrailItemDefinition": case "AthenaLoadingScreenItemDefinition": case "AthenaVictoryPoseItemDefinition": case "AthenaPetCarrierItemDefinition": case "AthenaMusicPackItemDefinition": case "AthenaBattleBusItemDefinition": case "AthenaCharacterItemDefinition": case "AthenaBackpackItemDefinition": case "AthenaPickaxeItemDefinition": case "AthenaGadgetItemDefinition": case "AthenaGliderItemDefinition": case "AthenaDailyQuestDefinition": case "AthenaSprayItemDefinition": case "AthenaDanceItemDefinition": case "AthenaEmojiItemDefinition": case "AthenaItemWrapDefinition": case "AthenaToyItemDefinition": case "FortHeroType": case "FortTokenType": case "FortAbilityKit": case "FortWorkerType": case "RewardGraphToken": case "FortBannerTokenType": case "FortVariantTokenType": case "FortFeatItemDefinition": case "FortStatItemDefinition": case "FortTrapItemDefinition": case "FortAmmoItemDefinition": case "FortQuestItemDefinition": case "FortBadgeItemDefinition": case "FortAwardItemDefinition": case "FortGadgetItemDefinition": case "FortPlaysetItemDefinition": case "FortGiftBoxItemDefinition": case "FortSpyTechItemDefinition": case "FortAccoladeItemDefinition": case "FortCardPackItemDefinition": case "FortDefenderItemDefinition": case "FortCurrencyItemDefinition": case "FortResourceItemDefinition": case "FortSchematicItemDefinition": case "FortIngredientItemDefinition": case "FortAccountBuffItemDefinition": case "FortWeaponMeleeItemDefinition": case "FortContextTrapItemDefinition": case "FortPlayerPerksItemDefinition": case "FortPlaysetPropItemDefinition": case "FortHomebaseNodeItemDefinition": case "FortWeaponRangedItemDefinition": case "FortNeverPersistItemDefinition": case "FortPlaysetGrenadeItemDefinition": case "FortPersonalVehicleItemDefinition": case "FortHardcoreModifierItemDefinition": case "FortConsumableAccountItemDefinition": case "FortConversionControlItemDefinition": case "FortAccountBuffCreditItemDefinition": case "FortPersistentResourceItemDefinition": case "FortCampaignHeroLoadoutItemDefinition": case "FortConditionalResourceItemDefinition": case "FortChallengeBundleScheduleDefinition": case "FortWeaponMeleeDualWieldItemDefinition": case "FortDailyRewardScheduleTokenDefinition": { BaseIcon icon = new BaseIcon(exports[index], exportType, ref assetName); int height = icon.Size + icon.AdditionalSize; using (var ret = new SKBitmap(icon.Size, height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.Mini) { if (!icon.ShortDescription.Equals(icon.DisplayName) && !icon.ShortDescription.Equals(icon.Description)) { Text.DrawToBottom(c, icon, ETextSide.Left, icon.ShortDescription); } Text.DrawToBottom(c, icon, ETextSide.Right, icon.CosmeticSource); } } UserFacingFlag.DrawUserFacingFlags(c, icon); // has more things to show if (height > icon.Size) { Statistics.DrawStats(c, icon); } } Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortMtxOfferData": { BaseOffer icon = new BaseOffer(exports[index]); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { icon.DrawBackground(c); } icon.DrawImage(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortItemSeriesDefinition": { BaseIcon icon = new BaseIcon(); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { Serie.GetRarity(icon, exports[index]); Rarity.DrawRarity(c, icon); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "PlaylistUserOptionEnum": case "PlaylistUserOptionBool": case "PlaylistUserOptionString": case "PlaylistUserOptionIntEnum": case "PlaylistUserOptionIntRange": case "PlaylistUserOptionColorEnum": case "PlaylistUserOptionFloatEnum": case "PlaylistUserOptionFloatRange": case "PlaylistUserOptionPrimaryAsset": case "PlaylistUserOptionCollisionProfileEnum": { BaseUserOption icon = new BaseUserOption(exports[index]); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortChallengeBundleItemDefinition": { BaseBundle icon = new BaseBundle(exports[index], assetFolder); using (var ret = new SKBitmap(icon.Width, icon.HeaderHeight + icon.AdditionalSize, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { HeaderStyle.DrawHeaderPaint(c, icon); HeaderStyle.DrawHeaderText(c, icon); QuestStyle.DrawQuests(c, icon); QuestStyle.DrawCompletionRewards(c, icon); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "MapUIData": { BaseMapUIData icon = new BaseMapUIData(exports[index]); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { icon.Draw(c); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "ArmorUIData": case "SprayUIData": case "ThemeUIData": case "ContractUIData": case "CurrencyUIData": case "GameModeUIData": case "CharacterUIData": case "SprayLevelUIData": case "EquippableUIData": case "PlayerCardUIData": case "Gun_UIData_Base_C": case "CharacterRoleUIData": case "EquippableSkinUIData": case "EquippableCharmUIData": case "EquippableSkinLevelUIData": case "EquippableSkinChromaUIData": case "EquippableCharmLevelUIData": { BaseUIData icon = new BaseUIData(exports, index); using (var ret = new SKBitmap(icon.Width + icon.AdditionalWidth, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "StreamedVideoDataAsset": { if (Globals.Game.ActualGame == EGame.Valorant && exports[index].GetExport <StructProperty>("Uuid") is StructProperty s && s.Value is FGuid uuid) { Process.Start(new ProcessStartInfo { FileName = string.Format( "http://valorant.dyn.riotcdn.net/x/videos/release-01.05/{0}_default_universal.mp4", $"{uuid.A:x8}-{uuid.B >> 16:x4}-{uuid.B & 0xFFFF:x4}-{uuid.C >> 16:x4}-{uuid.C & 0xFFFF:x4}{uuid.D:x8}"), UseShellExecute = true }); } return(false); } } return(false); }
/// <summary> /// we draw based on the fist export type of the asset, no need to check others it's a waste of time /// i don't cache images because i don't wanna store a lot of SKCanvas in the memory /// </summary> /// <returns>true if an icon has been drawn</returns> public static bool TryDrawFortniteIcon(string assetPath, string exportType, IUExport export) { var d = new DirectoryInfo(assetPath); string assetName = d.Name; string assetFolder = d.Parent.Name; if (Text.TypeFaces.NeedReload(false)) { Text.TypeFaces = new Typefaces(); // when opening bundle creator settings without loading paks first } // please respect my wave if you wanna add a new exportType // Athena first, then Fort, thank you switch (exportType) { case "AthenaConsumableEmoteItemDefinition": case "AthenaSkyDiveContrailItemDefinition": case "AthenaLoadingScreenItemDefinition": case "AthenaVictoryPoseItemDefinition": case "AthenaPetCarrierItemDefinition": case "AthenaMusicPackItemDefinition": case "AthenaBattleBusItemDefinition": case "AthenaCharacterItemDefinition": case "AthenaBackpackItemDefinition": case "AthenaPickaxeItemDefinition": case "AthenaGadgetItemDefinition": case "AthenaGliderItemDefinition": case "AthenaDailyQuestDefinition": case "AthenaSprayItemDefinition": case "AthenaDanceItemDefinition": case "AthenaEmojiItemDefinition": case "AthenaItemWrapDefinition": case "AthenaToyItemDefinition": case "FortHeroType": case "FortTokenType": case "FortAbilityKit": case "FortWorkerType": case "FortBannerTokenType": case "FortVariantTokenType": case "FortFeatItemDefinition": case "FortStatItemDefinition": case "FortTrapItemDefinition": case "FortAmmoItemDefinition": case "FortQuestItemDefinition": case "FortBadgeItemDefinition": case "FortAwardItemDefinition": case "FortGadgetItemDefinition": case "FortPlaysetItemDefinition": case "FortGiftBoxItemDefinition": case "FortSpyTechItemDefinition": case "FortAccoladeItemDefinition": case "FortCardPackItemDefinition": case "FortDefenderItemDefinition": case "FortCurrencyItemDefinition": case "FortResourceItemDefinition": case "FortSchematicItemDefinition": case "FortIngredientItemDefinition": case "FortWeaponMeleeItemDefinition": case "FortContextTrapItemDefinition": case "FortPlayerPerksItemDefinition": case "FortPlaysetPropItemDefinition": case "FortHomebaseNodeItemDefinition": case "FortWeaponRangedItemDefinition": case "FortNeverPersistItemDefinition": case "FortPlaysetGrenadeItemDefinition": case "FortPersonalVehicleItemDefinition": case "FortHardcoreModifierItemDefinition": case "FortConsumableAccountItemDefinition": case "FortConversionControlItemDefinition": case "FortPersistentResourceItemDefinition": case "FortCampaignHeroLoadoutItemDefinition": case "FortConditionalResourceItemDefinition": case "FortChallengeBundleScheduleDefinition": case "FortWeaponMeleeDualWieldItemDefinition": case "FortDailyRewardScheduleTokenDefinition": { BaseIcon icon = new BaseIcon(export, exportType, ref assetName); int height = icon.Size + icon.AdditionalSize; using (var ret = new SKBitmap(icon.Size, height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.Mini) { if (!icon.ShortDescription.Equals(icon.DisplayName) && !icon.ShortDescription.Equals(icon.Description)) { Text.DrawToBottom(c, icon, ETextSide.Left, icon.ShortDescription); } Text.DrawToBottom(c, icon, ETextSide.Right, icon.CosmeticSource); } } UserFacingFlag.DrawUserFacingFlags(c, icon); // has more things to show if (height > icon.Size) { Statistics.DrawStats(c, icon); } } Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortMtxOfferData": { BaseOffer icon = new BaseOffer(export); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { icon.DrawBackground(c); } icon.DrawImage(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortItemSeriesDefinition": { BaseIcon icon = new BaseIcon(); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { Serie.GetRarity(icon, export); Rarity.DrawRarity(c, icon); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "PlaylistUserOptionEnum": case "PlaylistUserOptionBool": case "PlaylistUserOptionString": case "PlaylistUserOptionIntEnum": case "PlaylistUserOptionIntRange": case "PlaylistUserOptionColorEnum": case "PlaylistUserOptionFloatEnum": case "PlaylistUserOptionFloatRange": case "PlaylistUserOptionPrimaryAsset": case "PlaylistUserOptionCollisionProfileEnum": { BaseUserOption icon = new BaseUserOption(export); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortChallengeBundleItemDefinition": { BaseBundle icon = new BaseBundle(export, assetFolder); using (var ret = new SKBitmap(icon.Width, icon.HeaderHeight + icon.AdditionalSize, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { HeaderStyle.DrawHeaderPaint(c, icon); HeaderStyle.DrawHeaderText(c, icon); QuestStyle.DrawQuests(c, icon); QuestStyle.DrawCompletionRewards(c, icon); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } } return(false); }
static EditorHelper() { headerStyle = new HeaderStyle(); defaultAnimationCurve = new AnimationCurve(new Keyframe(0.0f, 1.0f, 0.0f, 0.0f), new Keyframe(1.0f, 0.0f, 0.0f, 0.0f)); }
private void ResetHeaderStyle() { HeaderStyle = HeaderStyle.Primary; }
private void ResetCalendarHeaderStyle() { CalendarHeaderStyle = HeaderStyle.Calendar; }
private void SetHeaderStyle(ViewDrawDocker drawDocker, PaletteTripleMetricRedirect palette, HeaderStyle style) { palette.SetStyles(style); switch (style) { case HeaderStyle.Primary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetPrimary, PaletteMetricPadding.HeaderButtonPaddingPrimary); break; case HeaderStyle.Secondary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetSecondary, PaletteMetricPadding.HeaderButtonPaddingSecondary); break; case HeaderStyle.DockActive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockActive, PaletteMetricPadding.HeaderButtonPaddingDockActive); break; case HeaderStyle.DockInactive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockInactive, PaletteMetricPadding.HeaderButtonPaddingDockInactive); break; case HeaderStyle.Form: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetForm, PaletteMetricPadding.HeaderButtonPaddingForm); break; case HeaderStyle.Calendar: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCalendar, PaletteMetricPadding.HeaderButtonPaddingCalendar); break; case HeaderStyle.Custom1: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom1, PaletteMetricPadding.HeaderButtonPaddingCustom1); break; case HeaderStyle.Custom2: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom2, PaletteMetricPadding.HeaderButtonPaddingCustom2); break; case HeaderStyle.Custom3: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom3, PaletteMetricPadding.HeaderButtonPaddingCustom3); break; default: // Should never happen! Debug.Assert(false); break; } }
public override Task WriteToStreamAsync(Type type, object value, System.IO.Stream writeStream, System.Net.Http.HttpContent content, System.Net.TransportContext transportContext) { // Create a worksheet var package = new ExcelPackage(); package.Workbook.Worksheets.Add("Data"); var worksheet = package.Workbook.Worksheets[1]; int rowCount = 0; var valueType = value.GetType(); // Apply cell styles. CellStyle?.Invoke(worksheet.Cells.Style); // Get the item type. var itemType = (util.IsSimpleType(valueType)) ? null : util.GetEnumerableItemType(valueType); // If a single object was passed, treat it like a list with one value. if (itemType == null) { itemType = valueType; value = new[] { value }; } // Enumerations of primitive types are also handled separately, since they have // no properties to serialise (and thus, no headers or attributes to consider). if (util.IsSimpleType(itemType)) { // Can't convert IEnumerable<primitive> to IEnumerable<object> var values = (IEnumerable)value; foreach (var val in values) { AppendRow(new[] { val }, worksheet, ref rowCount); } // Autofit cells if specified. if (AutoFit) { worksheet.Cells[worksheet.Dimension.Address].AutoFitColumns(); } // Save and done. return(Task.Factory.StartNew(() => package.SaveAs(writeStream))); } // What remains is an enumeration of object types. var serialisableMembers = util.GetMemberNames(itemType); var properties = (from p in itemType.GetProperties() where p.CanRead & p.GetGetMethod().IsPublic & p.GetGetMethod().GetParameters().Length == 0 select p).ToList(); var fields = new List <string>(); var fieldInfo = new ExcelFieldInfoCollection(); // Instantiate field names and fieldInfo lists with serialisable members. foreach (var field in serialisableMembers) { var propName = field; var prop = properties.FirstOrDefault(p => p.Name == propName); if (prop == null) { continue; } fields.Add(field); fieldInfo.Add(new ExcelFieldInfo(field, util.GetAttribute <ExcelColumnAttribute>(prop))); } var props = itemType.GetProperties().ToList(); foreach (var prop in props) { var attributes = prop.GetCustomAttributes(true); foreach (var attribute in attributes) { var propertyName = prop.Name; if (!fieldInfo.Contains(propertyName)) { continue; } string displayFormatString = null; var displayFormatAttribute = (DisplayFormatAttribute)prop.GetCustomAttributes(typeof(DisplayFormatAttribute), true).FirstOrDefault(); if (displayFormatAttribute != null) { displayFormatString = displayFormatAttribute.DataFormatString; } string displayName = null; var displayNameAttribute = (DisplayNameAttribute)prop.GetCustomAttributes(typeof(DisplayNameAttribute), true).FirstOrDefault(); if (displayNameAttribute != null) { displayName = displayNameAttribute.DisplayName; } var field = fieldInfo[propertyName]; if (!field.IsExcelHeaderDefined) { field.Header = propertyName; } if (!field.IsExcelHeaderDefined) { field.Header = displayName ?? propertyName; } var excelAttribute = attribute as ExcelColumnAttribute; if (excelAttribute != null && excelAttribute.UseDisplayFormatString) { field.FormatString = displayFormatString; } } } if (fields.Count == 0) { return(Task.Factory.StartNew(() => package.SaveAs(writeStream))); } // Add header row AppendRow((from f in fieldInfo select f.Header).ToList(), worksheet, ref rowCount); var data = value as IEnumerable <object>; // Output each row of data if (data?.FirstOrDefault() != null) { foreach (var dataObject in data) { var row = new List <object>(); for (int i = 0; i <= fields.Count - 1; i++) { var cellValue = GetFieldOrPropertyValue(dataObject, fields[i]); var info = fieldInfo[i]; // Boolean transformations. if (info.ExcelAttribute != null && info.ExcelAttribute.TrueValue != null && cellValue.Equals("True")) { row.Add(info.ExcelAttribute.TrueValue); } else if (info.ExcelAttribute != null && info.ExcelAttribute.FalseValue != null && cellValue.Equals("False")) { row.Add(info.ExcelAttribute.FalseValue); } else if (!string.IsNullOrWhiteSpace(info.FormatString) & string.IsNullOrEmpty(info.ExcelNumberFormat)) { row.Add(string.Format(info.FormatString, cellValue)); } else { row.Add(cellValue); } } AppendRow(row.ToArray(), worksheet, ref rowCount); } } // Enforce any attributes on columns. for (int i = 1; i <= fields.Count; i++) { if (!string.IsNullOrEmpty(fieldInfo[i - 1].ExcelNumberFormat)) { worksheet.Cells[2, i, rowCount, i].Style.Numberformat.Format = fieldInfo[i - 1].ExcelNumberFormat; } } // Header cell styles HeaderStyle?.Invoke(worksheet.Row(1).Style); if (FreezeHeader) { worksheet.View.FreezePanes(2, 1); } var cells = worksheet.Cells[worksheet.Dimension.Address]; // Add autofilter and fit to max column width (if requested). if (AutoFilter) { cells.AutoFilter = AutoFilter; } if (AutoFit) { cells.AutoFitColumns(); } // Set header row where specified. if (HeaderHeight.HasValue) { worksheet.Row(1).Height = HeaderHeight.Value; worksheet.Row(1).CustomHeight = true; } return(Task.Factory.StartNew(() => package.SaveAs(writeStream))); }
static CameraTransitionEditorHelper() { headerStyle = new HeaderStyle(); }
public CalendarioPage(CalendarioPageVM vm) { VM = vm ?? new CalendarioPageVM(); VM.UIPage = this; BindingContext = VM; var calendar = new SfSchedule { ShowAppointmentsInline = true, ScheduleView = ScheduleView.WeekView }; #region Customization var headerStyle = new HeaderStyle(); //headerStyle.TextSize = 15; //headerStyle.TextStyle headerStyle.TextColor = Color.Black; calendar.HeaderStyle = headerStyle; #endregion ScheduleAppointmentMapping dataMapping = new ScheduleAppointmentMapping(); dataMapping.SubjectMapping = nameof(GoogleEventVM.Title); dataMapping.StartTimeMapping = nameof(GoogleEventVM.StartDate); dataMapping.EndTimeMapping = nameof(GoogleEventVM.EndDate); dataMapping.ColorMapping = nameof(GoogleEventVM.BackgroundColor); calendar.AppointmentMapping = dataMapping; calendar.ScheduleCellTapped += async(object sender, ScheduleTappedEventArgs args) => { var data = args; var fine = args.datetime.Add(TimeSpan.FromMinutes(calendar.TimeInterval)); var events = VM.GetEventsFromDateTime(args.datetime, TimeSpan.FromMinutes(calendar.TimeInterval)); if (events != null && events.Count > 0) { var IsNuovoEvento = false; var stringaCrea = "Crea evento"; var eventiListaStringhe = events.Select(x => x.Name).ToList(); eventiListaStringhe.Add(stringaCrea); var stringaScelta = await DisplayActionSheet("Quale evento?", "Nessuno", null, eventiListaStringhe.ToArray()); if (stringaScelta == stringaCrea) { IsNuovoEvento = true; await DoCrea(args.datetime, fine); return; } var eventoScelto = VM.EventsObj.FirstOrDefault(x => x.Name == stringaScelta); if (eventoScelto != null) { if (App.VM.user != null) { //se è modificabile, aprilo in edit var eventoInterno = VM.EventiInterniObj.FirstOrDefault(x => x.data.RelatedGoogleEventID == eventoScelto.ID); if (IsNuovoEvento || (eventoInterno != null && eventoInterno.data.RelatedOwnerGuid == App.VM.user.Guid)) { var pageEditVM = new EventDetailEditVM { CalendarioVM = VM, ObjEvent = eventoScelto, ObjInternalEvent = eventoInterno, ObjAllEvents = VM.EventsObj }; pageEditVM.DownloadData(false).ContinueWith(delegate { pageEditVM.UpdateVM(); }); await Navigation.PushAsync(new EventDetailViewEdit(pageEditVM)); } else { //altrimenti, aprilo in read only var pageViewVM = new EventDetailViewModel { ObjEvent = eventoScelto }; pageViewVM.DownloadData().ContinueWith(delegate { pageViewVM.UpdateVM(); }); await Navigation.PushAsync(new EventDetailView(pageViewVM)); } } else { //altrimenti, aprilo in read only var pageViewVM = new EventDetailViewModel { ObjEvent = eventoScelto }; pageViewVM.UpdateVM(); //non c'è bisogno qui di fare il download data perchè già ho gli oggetti interi che sto passando await Navigation.PushAsync(new EventDetailView(pageViewVM)); } } else { //se non ho scelto nessun evento torna indietro return; } } else if (events == null || events.Count == 0) { //se non ci sono già eventi in questa fascia oraria, permettine la creazione await DoCrea(args.datetime, fine); } }; //var listaVacanze = new List<DateTime> { }; //listaVacanze.Add(DateTime.Now); //calendar.BlackoutDates = listaVacanze; calendar.SetBinding(SfSchedule.DataSourceProperty, new Binding(nameof(CalendarioPageVM.Items))); var loadingText = new Label { Text = "Caricamento in corso", HorizontalTextAlignment = TextAlignment.Center }; loadingText.SetBinding(View.IsVisibleProperty, nameof(ViewModelBase.IsLoadingData)); var grid = new Grid { RowDefinitions = new RowDefinitionCollection { new RowDefinition { Height = GridLength.Auto }, new RowDefinition { Height = GridLength.Star }, } }; grid.AddChild(loadingText, 0, 0); grid.AddChild(calendar, 1, 0); this.Content = grid; }
static EditorHelper() { headerStyle = new HeaderStyle(); }
/// <summary> /// Initialize a new instance of the KryptonMonthCalendar class. /// </summary> public KryptonMonthCalendar() { SetStyle(ControlStyles.SupportsTransparentBackColor, true); // Create the palette storage _stateCommon = new PaletteMonthCalendarRedirect(Redirector, NeedPaintDelegate); _stateFocus = new PaletteMonthCalendarStateRedirect(Redirector, NeedPaintDelegate); _stateBolded = new PaletteMonthCalendarStateRedirect(Redirector, NeedPaintDelegate); _stateToday = new PaletteMonthCalendarStateRedirect(Redirector, NeedPaintDelegate); // Basic state storage _stateDisabled = new PaletteMonthCalendarDoubleState(_stateCommon, NeedPaintDelegate); _stateNormal = new PaletteMonthCalendarDoubleState(_stateCommon, NeedPaintDelegate); _stateTracking = new PaletteMonthCalendarState(_stateCommon, NeedPaintDelegate); _statePressed = new PaletteMonthCalendarState(_stateCommon, NeedPaintDelegate); _stateCheckedNormal = new PaletteMonthCalendarState(_stateCommon, NeedPaintDelegate); _stateCheckedTracking = new PaletteMonthCalendarState(_stateCommon, NeedPaintDelegate); _stateCheckedPressed = new PaletteMonthCalendarState(_stateCommon, NeedPaintDelegate); // Bold overrides _boldedDisabled = new PaletteTripleOverride(_stateBolded.Day, _stateDisabled.Day, PaletteState.BoldedOverride); _boldedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateNormal.Day, PaletteState.BoldedOverride); _boldedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateTracking.Day, PaletteState.BoldedOverride); _boldedPressed = new PaletteTripleOverride(_stateBolded.Day, _statePressed.Day, PaletteState.BoldedOverride); _boldedCheckedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedNormal.Day, PaletteState.BoldedOverride); _boldedCheckedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedTracking.Day, PaletteState.BoldedOverride); _boldedCheckedPressed = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedPressed.Day, PaletteState.BoldedOverride); // Today overrides _todayDisabled = new PaletteTripleOverride(_stateToday.Day, _boldedDisabled, PaletteState.TodayOverride); _todayNormal = new PaletteTripleOverride(_stateToday.Day, _boldedNormal, PaletteState.TodayOverride); _todayTracking = new PaletteTripleOverride(_stateToday.Day, _boldedTracking, PaletteState.TodayOverride); _todayPressed = new PaletteTripleOverride(_stateToday.Day, _boldedPressed, PaletteState.TodayOverride); _todayCheckedNormal = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedNormal, PaletteState.TodayOverride); _todayCheckedTracking = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedTracking, PaletteState.TodayOverride); _todayCheckedPressed = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedPressed, PaletteState.TodayOverride); // Focus overrides added to bold overrides _overrideDisabled = new PaletteTripleOverride(_stateFocus.Day, _todayDisabled, PaletteState.FocusOverride); _overrideNormal = new PaletteTripleOverride(_stateFocus.Day, _todayNormal, PaletteState.FocusOverride); _overrideTracking = new PaletteTripleOverride(_stateFocus.Day, _todayTracking, PaletteState.FocusOverride); _overridePressed = new PaletteTripleOverride(_stateFocus.Day, _todayPressed, PaletteState.FocusOverride); _overrideCheckedNormal = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedNormal, PaletteState.FocusOverride); _overrideCheckedTracking = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedTracking, PaletteState.FocusOverride); _overrideCheckedPressed = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedPressed, PaletteState.FocusOverride); // Create view that is used by standalone control as well as this context menu element _drawMonths = new ViewLayoutMonths(null, null, null, this, Redirector, NeedPaintDelegate); // Place the months layout view inside a standard docker which provides the control border _drawDocker = new ViewDrawDocker(_stateNormal.Back, _stateNormal.Border, null); _drawDocker.Add(_drawMonths, ViewDockStyle.Fill); // Create the view manager instance ViewManager = new ViewManager(this, _drawDocker); // Set default property values _dimensions = new Size(1, 1); _firstDayOfWeek = Day.Default; _headerStyle = HeaderStyle.Calendar; _dayStyle = ButtonStyle.CalendarDay; _dayOfWeekStyle = ButtonStyle.CalendarDay; _selectionStart = DateTime.Now.Date; _selectionEnd = _selectionStart; _todayDate = _selectionStart; _minDate = DateTimePicker.MinimumDateTime; _maxDate = DateTimePicker.MaximumDateTime; _maxSelectionCount = 7; _annualDays = new int[12]; _annualDates = new DateTimeList(); _monthlyDates = new DateTimeList(); _dates = new DateTimeList(); _scrollChange = 0; _todayFormat = "d"; }
/// <summary> /// Initialize a new instance of the KryptonContextMenuMonthCalendar class. /// </summary> public KryptonContextMenuMonthCalendar() { // Default fields _autoClose = true; _enabled = true; _showToday = true; _showTodayCircle = true; _closeOnTodayClick = false; _dimensions = new Size(1, 1); _firstDayOfWeek = Day.Default; _headerStyle = HeaderStyle.Calendar; _dayStyle = ButtonStyle.CalendarDay; _dayOfWeekStyle = ButtonStyle.CalendarDay; _selectionStart = DateTime.Now.Date; _selectionEnd = _selectionStart; _todayDate = _selectionStart; _minDate = DateTimePicker.MinimumDateTime; _maxDate = DateTimePicker.MaximumDateTime; _maxSelectionCount = 7; _annualDays = new int[12]; _annualDates = new DateTimeList(); _monthlyDates = new DateTimeList(); _dates = new DateTimeList(); _today = _defaultToday; _todayFormat = "d"; // Create the common/override state storage _stateCommon = new PaletteMonthCalendarRedirect(); _stateFocus = new PaletteMonthCalendarStateRedirect(); _stateBolded = new PaletteMonthCalendarStateRedirect(); _stateToday = new PaletteMonthCalendarStateRedirect(); // Basic state storage _stateDisabled = new PaletteMonthCalendarDoubleState(_stateCommon); _stateNormal = new PaletteMonthCalendarDoubleState(_stateCommon); _stateTracking = new PaletteMonthCalendarState(_stateCommon); _statePressed = new PaletteMonthCalendarState(_stateCommon); _stateCheckedNormal = new PaletteMonthCalendarState(_stateCommon); _stateCheckedTracking = new PaletteMonthCalendarState(_stateCommon); _stateCheckedPressed = new PaletteMonthCalendarState(_stateCommon); // Bold overrides _boldedDisabled = new PaletteTripleOverride(_stateBolded.Day, _stateDisabled.Day, PaletteState.BoldedOverride); _boldedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateNormal.Day, PaletteState.BoldedOverride); _boldedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateTracking.Day, PaletteState.BoldedOverride); _boldedPressed = new PaletteTripleOverride(_stateBolded.Day, _statePressed.Day, PaletteState.BoldedOverride); _boldedCheckedNormal = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedNormal.Day, PaletteState.BoldedOverride); _boldedCheckedTracking = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedTracking.Day, PaletteState.BoldedOverride); _boldedCheckedPressed = new PaletteTripleOverride(_stateBolded.Day, _stateCheckedPressed.Day, PaletteState.BoldedOverride); // Today overrides _todayDisabled = new PaletteTripleOverride(_stateToday.Day, _boldedDisabled, PaletteState.TodayOverride); _todayNormal = new PaletteTripleOverride(_stateToday.Day, _boldedNormal, PaletteState.TodayOverride); _todayTracking = new PaletteTripleOverride(_stateToday.Day, _boldedTracking, PaletteState.TodayOverride); _todayPressed = new PaletteTripleOverride(_stateToday.Day, _boldedPressed, PaletteState.TodayOverride); _todayCheckedNormal = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedNormal, PaletteState.TodayOverride); _todayCheckedTracking = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedTracking, PaletteState.TodayOverride); _todayCheckedPressed = new PaletteTripleOverride(_stateToday.Day, _boldedCheckedPressed, PaletteState.TodayOverride); // Focus overrides added to bold overrides _overrideDisabled = new PaletteTripleOverride(_stateFocus.Day, _todayDisabled, PaletteState.FocusOverride); _overrideNormal = new PaletteTripleOverride(_stateFocus.Day, _todayNormal, PaletteState.FocusOverride); _overrideTracking = new PaletteTripleOverride(_stateFocus.Day, _todayTracking, PaletteState.FocusOverride); _overridePressed = new PaletteTripleOverride(_stateFocus.Day, _todayPressed, PaletteState.FocusOverride); _overrideCheckedNormal = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedNormal, PaletteState.FocusOverride); _overrideCheckedTracking = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedTracking, PaletteState.FocusOverride); _overrideCheckedPressed = new PaletteTripleOverride(_stateFocus.Day, _todayCheckedPressed, PaletteState.FocusOverride); }
public HeaderAreaAttribute(string label, HeaderStyle style = HeaderStyle.Unity) { Label = label; Style = style; }
private void SetHeaderStyle(ViewDrawDocker drawDocker, PaletteTripleMetricRedirect palette, HeaderStyle style) { palette.SetStyles(style); switch (style) { case HeaderStyle.Primary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetPrimary, PaletteMetricPadding.HeaderButtonPaddingPrimary); break; case HeaderStyle.Secondary: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetSecondary, PaletteMetricPadding.HeaderButtonPaddingSecondary); break; case HeaderStyle.DockActive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockActive, PaletteMetricPadding.HeaderButtonPaddingDockActive); break; case HeaderStyle.DockInactive: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetDockInactive, PaletteMetricPadding.HeaderButtonPaddingDockInactive); break; case HeaderStyle.Form: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetForm, PaletteMetricPadding.HeaderButtonPaddingForm); break; case HeaderStyle.Calendar: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCalendar, PaletteMetricPadding.HeaderButtonPaddingCalendar); break; case HeaderStyle.Custom1: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom1, PaletteMetricPadding.HeaderButtonPaddingCustom1); break; case HeaderStyle.Custom2: _buttonManager.SetDockerMetrics(drawDocker, palette, PaletteMetricInt.HeaderButtonEdgeInsetCustom2, PaletteMetricPadding.HeaderButtonPaddingCustom2); break; default: // Should never happen! Debug.Assert(false); break; } }
TableVM prepareSampleViewmodel() { var model = new TableVM() { TestTable = new Table( new Table.PageModel("First Table", 4, true)) { Responsive = true, UseVerticalTable = true } }; var headerStyle = new HeaderStyle(); var rowStyle = new BasicStyle(Color.Red, textBold: true, htmlClasses: "text-danger"); var rnd = new Random(); model.TestTable .AddRow(new Row(RowEnum.Header) .AddCell(new Cell(values: new StringValue("Rows"), style: headerStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new StringValue("Col1"), style: headerStyle)) .AddCell(new Cell(values: new StringValue("Col2"), style: headerStyle)) .AddCell(new Cell(values: new StringValue("Col3"), style: headerStyle)) .AddCell(new Cell(values: new StringValue("Col4"), style: headerStyle)) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row1"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100))))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row2"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Int))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Single))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Double))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Triple)))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row3"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100))))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row4"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Int))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Single))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Double))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Triple)))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row5"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100))))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row6"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Int))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Single))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Double))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Triple)))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row7"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100)))) .AddCell(new Cell(values: new IntValue(rnd.Next(-100, 100))))) .AddRow(new Row() .AddCell(new Cell(values: new StringValue("Row8"), style: rowStyle)) .UpdateTextPosition(TextPositionEnum.Left) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Int))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Single))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Double))) .AddCell(new Cell(values: new DoubleValue(rnd.NextDouble() * 100, ValueEnum.Triple))))); return(model); }
/// <summary> /// i don't cache images because i don't wanna store a lot of SKCanvas in the memory /// </summary> /// <returns>true if an icon has been drawn</returns> public static bool TryDrawIcon(string assetPath, FName[] exportTypes, IUExport[] exports) { var d = new DirectoryInfo(assetPath); string assetName = d.Name; string assetFolder = d.Parent.Name; if (Text.TypeFaces.NeedReload(false)) { Text.TypeFaces = new Typefaces(); // when opening bundle creator settings without loading paks first } int index; { if (Globals.Game.ActualGame == EGame.Valorant || Globals.Game.ActualGame == EGame.Spellbreak) { index = 1; } else { index = 0; } } string exportType; { if (exportTypes.Length > index && (exportTypes[index].String == "BlueprintGeneratedClass" || exportTypes[index].String == "FortWeaponAdditionalData_AudioVisualizerData" || exportTypes[index].String == "FortWeaponAdditionalData_SingleWieldState")) { index++; } exportType = exportTypes.Length > index ? exportTypes[index].String : string.Empty; } switch (exportType) { case "AthenaConsumableEmoteItemDefinition": case "AthenaSkyDiveContrailItemDefinition": case "AthenaLoadingScreenItemDefinition": case "AthenaVictoryPoseItemDefinition": case "AthenaPetCarrierItemDefinition": case "AthenaMusicPackItemDefinition": case "AthenaBattleBusItemDefinition": case "AthenaCharacterItemDefinition": case "FortAlterationItemDefinition": case "AthenaBackpackItemDefinition": case "AthenaPickaxeItemDefinition": case "AthenaGadgetItemDefinition": case "AthenaGliderItemDefinition": case "AthenaDailyQuestDefinition": case "FortBackpackItemDefinition": case "AthenaSprayItemDefinition": case "AthenaDanceItemDefinition": case "AthenaEmojiItemDefinition": case "AthenaItemWrapDefinition": case "AthenaToyItemDefinition": case "FortHeroType": case "FortTokenType": case "FortAbilityKit": case "FortWorkerType": case "RewardGraphToken": case "FortBannerTokenType": case "FortVariantTokenType": case "FortDecoItemDefinition": case "FortFeatItemDefinition": case "FortStatItemDefinition": case "FortTrapItemDefinition": case "FortAmmoItemDefinition": case "FortQuestItemDefinition": case "FortBadgeItemDefinition": case "FortAwardItemDefinition": case "FortGadgetItemDefinition": case "FortPlaysetItemDefinition": case "FortGiftBoxItemDefinition": case "FortSpyTechItemDefinition": case "FortOutpostItemDefinition": case "FortAccoladeItemDefinition": case "FortCardPackItemDefinition": case "FortDefenderItemDefinition": case "FortCurrencyItemDefinition": case "FortResourceItemDefinition": case "FortCodeTokenItemDefinition": case "FortSchematicItemDefinition": case "FortExpeditionItemDefinition": case "FortIngredientItemDefinition": case "FortAccountBuffItemDefinition": case "FortWeaponMeleeItemDefinition": case "FortContextTrapItemDefinition": case "FortPlayerPerksItemDefinition": case "FortPlaysetPropItemDefinition": case "FortHomebaseNodeItemDefinition": case "FortWeaponRangedItemDefinition": case "FortNeverPersistItemDefinition": case "RadioContentSourceItemDefinition": case "FortPlaysetGrenadeItemDefinition": case "FortPersonalVehicleItemDefinition": case "FortGameplayModifierItemDefinition": case "FortHardcoreModifierItemDefinition": case "FortConsumableAccountItemDefinition": case "FortConversionControlItemDefinition": case "FortAccountBuffCreditItemDefinition": case "FortEventCurrencyItemDefinitionRedir": case "FortPersistentResourceItemDefinition": case "FortHomebaseBannerIconItemDefinition": case "FortCampaignHeroLoadoutItemDefinition": case "FortConditionalResourceItemDefinition": case "FortChallengeBundleScheduleDefinition": case "FortWeaponMeleeDualWieldItemDefinition": case "FortDailyRewardScheduleTokenDefinition": case "FortCreativeRealEstatePlotItemDefinition": { BaseIcon icon = new BaseIcon(exports[index], exportType, ref assetName); int height = icon.Size + icon.AdditionalSize; using (var ret = new SKBitmap(icon.Size, height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.Mini) { if (!icon.ShortDescription.Equals(icon.DisplayName) && !icon.ShortDescription.Equals(icon.Description)) { Text.DrawToBottom(c, icon, ETextSide.Left, icon.ShortDescription); } Text.DrawToBottom(c, icon, ETextSide.Right, icon.CosmeticSource); } } UserFacingFlag.DrawUserFacingFlags(c, icon); // has more things to show if (height > icon.Size) { Statistics.DrawStats(c, icon); } } Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortPlaylistAthena": { BasePlaylist icon = new BasePlaylist(exports[index]); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } LargeSmallImage.DrawNotStretchedPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); } } // Watermark.DrawWatermark(c); // boi why would you watermark something you don't own ¯\_(ツ)_/¯ ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "AthenaSeasonItemDefinition": { BaseSeason icon = new BaseSeason(exports[index], assetFolder); using (var ret = new SKBitmap(icon.Width, icon.HeaderHeight + icon.AdditionalSize, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { icon.Draw(c); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortMtxOfferData": { BaseOffer icon = new BaseOffer(exports[index]); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { icon.DrawBackground(c); } icon.DrawImage(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "MaterialInstanceConstant": { if (assetFolder.Equals("MI_OfferImages")) { BaseOfferMaterial icon = new BaseOfferMaterial(exports[index]); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { icon.DrawBackground(c); } icon.DrawImage(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } return(false); } case "FortItemSeriesDefinition": { BaseIcon icon = new BaseIcon(); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { Serie.GetRarity(icon, exports[index]); Rarity.DrawRarity(c, icon); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "PlaylistUserOptionEnum": case "PlaylistUserOptionBool": case "PlaylistUserOptionString": case "PlaylistUserOptionIntEnum": case "PlaylistUserOptionIntRange": case "PlaylistUserOptionColorEnum": case "PlaylistUserOptionFloatEnum": case "PlaylistUserOptionFloatRange": case "PlaylistUserOptionPrimaryAsset": case "PlaylistUserOptionCollisionProfileEnum": { BaseUserOption icon = new BaseUserOption(exports[index]); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortChallengeBundleItemDefinition": { BaseBundle icon = new BaseBundle(exports[index], assetFolder); using (var ret = new SKBitmap(icon.Width, icon.HeaderHeight + icon.AdditionalSize, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { HeaderStyle.DrawHeaderPaint(c, icon); HeaderStyle.DrawHeaderText(c, icon); QuestStyle.DrawQuests(c, icon); QuestStyle.DrawCompletionRewards(c, icon); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "FortItemAccessTokenType": { BaseItemAccess icon = new BaseItemAccess(exports[index]); using (var ret = new SKBitmap(icon.Size, icon.Size, SKColorType.Rgba8888, SKAlphaType.Opaque)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "MapUIData": { BaseMapUIData icon = new BaseMapUIData(exports[index]); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { icon.Draw(c); ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "ArmorUIData": case "SprayUIData": case "ThemeUIData": case "ContractUIData": case "CurrencyUIData": case "GameModeUIData": case "CharacterUIData": case "SprayLevelUIData": case "EquippableUIData": case "PlayerCardUIData": case "Gun_UIData_Base_C": case "CharacterRoleUIData": case "EquippableSkinUIData": case "EquippableCharmUIData": case "EquippableSkinLevelUIData": case "EquippableSkinChromaUIData": case "EquippableCharmLevelUIData": { BaseUIData icon = new BaseUIData(exports, index); using (var ret = new SKBitmap(icon.Width + icon.AdditionalWidth, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { icon.Draw(c); Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } //case "StreamedVideoDataAsset": // must find a way to automatically gets the right version in the url // { // if (Globals.Game.ActualGame == EGame.Valorant && exports[index].GetExport<StructProperty>("Uuid") is StructProperty s && s.Value is FGuid uuid) // { // Process.Start(new ProcessStartInfo // { // FileName = string.Format( // "http://valorant.dyn.riotcdn.net/x/videos/release-01.05/{0}_default_universal.mp4", // $"{uuid.A:x8}-{uuid.B >> 16:x4}-{uuid.B & 0xFFFF:x4}-{uuid.C >> 16:x4}-{uuid.C & 0xFFFF:x4}{uuid.D:x8}"), // UseShellExecute = true // }); // } // return false; // } case "GQuest": case "GAccolade": case "GCosmeticSkin": case "GCharacterPerk": case "GCosmeticTitle": case "GCosmeticBadge": case "GCosmeticEmote": case "GCosmeticTriumph": case "GCosmeticRunTrail": case "GCosmeticArtifact": case "GCosmeticDropTrail": { BaseGCosmetic icon = new BaseGCosmetic(exports[index], exportType); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign == EIconDesign.Flat) { icon.Draw(c); } else if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground && (EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); } Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } case "GCosmeticCard": { BaseGCosmetic icon = new BaseGCosmetic(exports[index], exportType); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign == EIconDesign.Flat) { icon.Draw(c); } else { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { Rarity.DrawRarity(c, icon); } } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); } } ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } // Battle Breakers case "WExpGenericAccountItemDefinition": { BaseBBDefinition icon = new BaseBBDefinition(exports[index], exportType); using (var ret = new SKBitmap(icon.Width, icon.Height, SKColorType.Rgba8888, SKAlphaType.Premul)) using (var c = new SKCanvas(ret)) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if (icon.RarityBackgroundImage != null) { c.DrawBitmap(icon.RarityBackgroundImage, new SKRect(icon.Margin, icon.Margin, icon.Width - icon.Margin, icon.Height - icon.Margin), new SKPaint { FilterQuality = SKFilterQuality.High, IsAntialias = true }); } else { Rarity.DrawRarity(c, icon); } } LargeSmallImage.DrawPreviewImage(c, icon); if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoBackground) { if ((EIconDesign)Properties.Settings.Default.AssetsIconDesign != EIconDesign.NoText) { Text.DrawBackground(c, icon); Text.DrawDisplayName(c, icon); Text.DrawDescription(c, icon); } } Watermark.DrawWatermark(c); // watermark should only be applied on icons with width = 512 ImageBoxVm.imageBoxViewModel.Set(ret, assetName); } return(true); } } return(false); }
public Customization() { schedule = new SFSchedule(); label.Text = "Select the Schedule Type"; label.TextColor = UIColor.Black; headerStyle = new HeaderStyle(); viewHeaderStyle = new SFViewHeaderStyle(); schedule.HeaderHeight = 30; schedule.MonthCellLoaded += Schedule_MonthCellLoaded; schedule.AppointmentLoaded += Schedule_AppointmentLoaded; textbutton.SetTitle("Day View", UIControlState.Normal); textbutton.HorizontalAlignment = UIControlContentHorizontalAlignment.Center; textbutton.BackgroundColor = UIColor.Clear; textbutton.SetTitleColor(UIColor.Black, UIControlState.Normal); textbutton.Hidden = false; textbutton.Layer.BorderColor = UIColor.FromRGB(246, 246, 246).CGColor; textbutton.Layer.BorderWidth = 4; textbutton.Layer.CornerRadius = 8; textbutton.TouchUpInside += ShowPicker; button.SetTitle("Done\t", UIControlState.Normal); button.HorizontalAlignment = UIControlContentHorizontalAlignment.Right; button.BackgroundColor = UIColor.FromRGB(240, 240, 240); button.SetTitleColor(UIColor.Black, UIControlState.Normal); button.Hidden = true; button.TouchUpInside += HidePicker; schedule.ItemsSource = CreateAppointments(); schedule.ScheduleView = SFScheduleView.SFScheduleViewDay; schedule.DayViewSettings = new DayViewSettings(); schedule.DayViewSettings.TimeTextColor = UIColor.FromRGB(168, 168, 173); schedule.DayViewSettings.TimeSlotBorderColor = UIColor.FromRGB(219, 219, 219); schedule.DayViewSettings.NonWorkingHourTimeSlotBorderColor = UIColor.FromRGB(219, 219, 219); UIButton selectionView = new UIButton(); selectionView.BackgroundColor = UIColor.FromRGB(0, 122, 255); selectionView.SetTitle("+ New Event", UIControlState.Normal); schedule.SelectionView = selectionView; viewHeaderStyle.BackgroundColor = UIColor.FromRGB(247, 247, 247); viewHeaderStyle.DayTextStyle = UIFont.SystemFontOfSize(18); viewHeaderStyle.DayTextColor = UIColor.FromRGB(3, 3, 3); headerStyle.TextPosition = UITextAlignment.Center; headerStyle.TextColor = UIColor.FromRGB(3, 3, 3); schedule.HeaderStyle = headerStyle; schedule.DayHeaderStyle = viewHeaderStyle; schedule.AppointmentViewLayout = SFViewLayoutOptions.Overlay; this.scheduleTypes.Add((NSString)"Day View"); this.scheduleTypes.Add((NSString)"Month View"); Localization.SchedulePickerModel model = new Localization.SchedulePickerModel(this.scheduleTypes); model.PickerChanged += (sender, e) => { this.selectedType = e.SelectedValue; textbutton.SetTitle(selectedType, UIControlState.Normal); if (selectedType == "Day View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewDay; } else if (selectedType == "Month View") { schedule.ScheduleView = SFScheduleView.SFScheduleViewMonth; } }; scheduleTypePicker.ShowSelectionIndicator = true; scheduleTypePicker.Hidden = true; scheduleTypePicker.Model = model; scheduleTypePicker.BackgroundColor = UIColor.White; }
//------------------------------------------------------------------------------------------- protected void RenderContents(HtmlTextWriter output) { Page.ClientScript.RegisterHiddenField(this.UniqueID + "_RowDoubleClicked", "-1"); TableItemStyle style = this.ItemStyle; if (HasControls()) { foreach (DataGridItem row in Controls[0].Controls) { bool itemrow = false; switch (row.ItemType) { case ListItemType.Header: HeaderStyle.AddAttributesToRender(output); break; case ListItemType.Footer: FooterStyle.AddAttributesToRender(output); break; case ListItemType.Pager: if (PagerStyle.Position == PagerPosition.Top && Controls[0].Controls.IndexOf(row) > 2) { continue; } if (PagerStyle.Position == PagerPosition.Bottom && Controls[0].Controls.IndexOf(row) < 2) { continue; } this.PagerStyle.ForeColor = this.PagerStyle.ForeColor; this.PagerStyle.AddAttributesToRender(output); break; case ListItemType.EditItem: itemrow = true; this.EditItemStyle.AddAttributesToRender(output); break; case ListItemType.SelectedItem: itemrow = true; this.SelectedItemStyle.AddAttributesToRender(output); break; default: break; } if (itemrow) { //output.AddAttribute("onclick", "CheckBoxForRow(this, '" + ColorTranslator.ToHtml(HighlightColor) + "')"); } if (row.Visible) { //row.RenderControl(output); row.RenderBeginTag(output); for (int i = 0; i < row.Controls.Count; i++) { TableCell cell = (TableCell)row.Controls[i]; if (Columns[i].Visible && cell.Visible) { switch (row.ItemType) { case ListItemType.Header: break; case ListItemType.Item: Columns[i].ItemStyle.AddAttributesToRender(output); break; case ListItemType.AlternatingItem: Columns[i].ItemStyle.AddAttributesToRender(output); break; case ListItemType.EditItem: //Columns[i].AddAttributesToRender(output); break; case ListItemType.Footer: break; } cell.RenderControl(output); //if (row.ItemType == ListItemType.Item || // row.ItemType == ListItemType.AlternatingItem) // output.RenderEndTag(); //RenderControlTree(output, cell, !Columns[i].ItemStyle.Width.IsEmpty); } } row.RenderEndTag(output); } } } }