public SwatchRenderer(IBoxContentRenderer probeRender) { probeRenderer = probeRender; swatchSize = Hardcoded.ColourSwatchSize; swatchRects = new Rectangle[14]; swatchColours = new Brush[] { Brushes.Yellow, Brushes.YellowGreen, Brushes.Wheat, Brushes.Tomato, Brushes.Brown, Brushes.BurlyWood, Brushes.GhostWhite }; }
public BlankRenderer(string itemName, IBoxContentRenderer probeRender, Color drawColour) { text = itemName; textColour = new SolidBrush(drawColour); genericSansFont = new Font(FontFamily.GenericSansSerif, 12.0f); rectF = new RectangleF(); probeRenderer = probeRender; typeFormat = StringFormat.GenericTypographic; }
public AlignedTextRenderer( string text, IBoxContentRenderer probeRender, BoxContentsRenderer.AlignToRect xAlignFn, BoxContentsRenderer.AlignToRect yAlignFn, Font fontToUse ) : this(text, probeRender, xAlignFn, yAlignFn, fontToUse, Hardcoded.StandardFontColour) { }
private void RefreshRenderer() { IBoxContentRenderer oldRenderer = renderer; renderer = BoxContentsRenderer.Create(Contents, BehaviourAttributes, QueryAttributes, OutlineColour); if (oldRenderer != null) { oldRenderer.Dispose(); } if (!renderer.HardcodedRenderLocation(ref hardcodedRenderLoc)) { hardcodedRenderLoc = Rectangle.Empty; } Rectangle loc = Rectangle.Union(Location, hardcodedRenderLoc); RaiseDisplayChanged(loc, loc); }
public DealershipCarPriceRenderer(string text, IBoxContentRenderer probeRender, Font renderFont, bool isBigText) { probeRenderer = probeRender; font = renderFont; renderText = text; stringSize = new SizeF(); if (isBigText) { xAdjustment = -37; yAdjustment = -16; } else { xAdjustment = yAdjustment = 0; } typeFormat = StringFormat.GenericTypographic; }
public AlignedTextRenderer( string text, IBoxContentRenderer probeRender, BoxContentsRenderer.AlignToRect xAlignFn, BoxContentsRenderer.AlignToRect yAlignFn, Font fontToUse, Brush textColour ) { textToRender = text; probeRenderer = probeRender; xAligner = xAlignFn; yAligner = yAlignFn; font = fontToUse; textSize = new SizeF(); brush = textColour; typeFormat = StringFormat.GenericTypographic; }
public CarListRenderer(GMFile.BoxItem item, IBoxContentRenderer probeRender) { probeRenderer = probeRender; if (item == GMFile.BoxItem.UsedCarList) { renderMeasurements = Hardcoded.UsedCarListMeasurements; includePrice = true; } else { renderMeasurements = Hardcoded.GarageCarListMeasurements; includePrice = false; } textColour = new SolidBrush(renderMeasurements.TextColour); borderPen = new Pen(renderMeasurements.BorderColour); int numItems = renderMeasurements.ItemsToRender; itemRects = new Rectangle[numItems]; Point topLeft = renderMeasurements.TopLeftRenderPoint; int boxHeight = renderMeasurements.ItemMargin + renderMeasurements.ItemPadding; Size itemSize = renderMeasurements.ItemBoxSize; // the item box is rendered middle aligned (vertically) // boxHeight - the total height from the top of one box space to another // itemSize - the size of the actual box content int yOffset = (boxHeight - itemSize.Height) / 2; for (int i = 0; i < numItems; ++i) { int yPos = topLeft.Y + yOffset; itemRects[i] = new Rectangle(topLeft.X, yPos, itemSize.Width, itemSize.Height); topLeft.Offset(0, boxHeight); } typeFormat = StringFormat.GenericTypographic; swatchGradient = new LinearGradientBrush( new Rectangle(Point.Empty, renderMeasurements.SwatchSize), Color.White, Color.Blue, LinearGradientMode.ForwardDiagonal ); }
public EquippedCarPartsRenderer(IBoxContentRenderer probeRender) { probeRenderer = probeRender; typeFormat = StringFormat.GenericTypographic; }
public CentralImageRenderer(IBoxContentRenderer probeRenderer, Bitmap image) { probeRender = probeRenderer; renderImage = image; }
public CarDisplayRenderer(IBoxContentRenderer probeRenderer) { probeRender = probeRenderer; }
public static IBoxContentRenderer Create( GMFile.BoxItem item, GMFile.InfoBoxAttributes infoAttrs, GMFile.QueryAttributes queryAttrs, Color drawColour ) { InitTexts(); IBoxContentRenderer renderer = null; string renderText; if (!textsToRender.TryGetValue((int)item, out renderText)) { renderText = "TextMissing"; } string itemName = Enum.GetName(typeof(GMFile.BoxItem), item); bool bigText = (infoAttrs & GMFile.InfoBoxAttributes.UseBigFont) != 0; Font usedFont = bigText ? Hardcoded.BigFont : Hardcoded.StandardFont; ProbeDataRenderer probeRenderer = new ProbeDataRenderer(infoAttrs, queryAttrs, usedFont); switch (item) { case GMFile.BoxItem.DealershipNewCarBox: { if ((infoAttrs & GMFile.InfoBoxAttributes.DontRenderDealerPrice) != 0) { renderer = new BlankRenderer("Blank - " + itemName, probeRenderer, drawColour); } else { renderer = new DealershipCarPriceRenderer(renderText, probeRenderer, usedFont, bigText); } } break; case GMFile.BoxItem.CarColourName: case GMFile.BoxItem.CreditsBalance: case GMFile.BoxItem.Price: case GMFile.BoxItem.DayCount: case GMFile.BoxItem.ChampionshipBonusPrize: case GMFile.BoxItem.CarSaleValue: { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect right = new AlignToRect(AlignXRight); renderer = new AlignedTextRenderer(renderText, probeRenderer, right, bottom, usedFont); } break; case GMFile.BoxItem.CurrentCarHP: case GMFile.BoxItem.UpgradeCarHP: { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect right = new AlignToRect(AlignXRight); renderer = new AlignedTextRenderer(renderText, probeRenderer, right, bottom, usedFont, Hardcoded.UpgradeHPTextColour); } break; case GMFile.BoxItem.CurrentCarShortName: case GMFile.BoxItem.CarHP: case GMFile.BoxItem.CarWeight: case GMFile.BoxItem.CarYear: { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect left = new AlignToRect(AlignXLeft); renderer = new AlignedTextRenderer(renderText, probeRenderer, left, bottom, usedFont); } break; case GMFile.BoxItem.UpgradeName: { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect centre = new AlignToRect(AlignXCentre); renderer = new AlignedTextRenderer(renderText, probeRenderer, centre, bottom, Hardcoded.PartFont, Hardcoded.PartFontColour); } break; case GMFile.BoxItem.CarColourSwatches: { renderer = new SwatchRenderer(probeRenderer); } break; case GMFile.BoxItem.UsedCarList: case GMFile.BoxItem.GarageCarList: { renderer = new CarListRenderer(item, probeRenderer); } break; case GMFile.BoxItem.CarDisplay: { renderer = new CarDisplayRenderer(probeRenderer); } break; case GMFile.BoxItem.CarLogo: case GMFile.BoxItem.CarDrivetrainGraphic: { renderer = new CentralImageRenderer( probeRenderer, (item == GMFile.BoxItem.CarLogo) ? Hardcoded.CarLogo : Hardcoded.DrivetrainGraphic ); } break; case GMFile.BoxItem.StatusHighestGainedLicense: { renderer = new CentralImageRenderer( probeRenderer, Hardcoded.LargeLicenseGraphic ); } break; case GMFile.BoxItem.CarEquippedPartsList: { renderer = new EquippedCarPartsRenderer(probeRenderer); } break; default: if ((item >= GMFile.BoxItem.InfoScreenCarLength) && (item <= GMFile.BoxItem.InfoScreenCarMaxTorque)) { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect left = new AlignToRect(AlignXLeft); renderer = new AlignedTextRenderer(renderText, probeRenderer, left, bottom, usedFont); } else if ((item >= GMFile.BoxItem.StatusPercentageCompletion) && (item <= GMFile.BoxItem.StatusNumberOfLicenseKidsTrophies)) { AlignToRect bottom = bigText ? new AlignToRect(AlignYBottomBig) : new AlignToRect(AlignYBottom); AlignToRect right = new AlignToRect(AlignXRight); renderer = new AlignedTextRenderer(renderText, probeRenderer, right, bottom, usedFont); } else if ((item >= GMFile.BoxItem.IC1LicenseResult) && (item <= GMFile.BoxItem.S10LicenseResult)) { renderer = new CentralImageRenderer(probeRenderer, Hardcoded.LicenseTrophyGraphic); } else { renderer = new BlankRenderer("Blank - " + itemName, probeRenderer, drawColour); } break; } return(renderer); }
private void DoAfterConstruction() { Globals.App.SettingsChanged += new EventHandler(App_SettingsChanged); renderer = new TopLeftIconImageRenderer(hardcodedImgDataIndex); }