// TODO rework and cleanup public void DrawAllTables() { //Pen p = new Pen(b); //Brush b2 = new SolidBrush(Color.Red); //#if DEBUG // RelationPen = new Pen(Color.FromArgb(172, 128, 224, 0), 15); //#endif // RelationPen.Width = 4; // Font drawFont2 = new Font("Arial", 16); // SolidBrush drawBrush = new SolidBrush(Color.Black); string pathToImage = ""; #if DEBUG pathToImage = Path.Combine("Images", "Icons"); #else pathToImage = Path.Combine(Program.ApplicationSetting.BasePath, "Images", "Icons"); #endif var pkBitmap = SKBitmap.Decode(Path.Combine(pathToImage, "pk.png")); pkBitmap = pkBitmap.Resize(new SKSizeI(35, 20), SKFilterQuality.High); var fkBitmap = SKBitmap.Decode(Path.Combine(pathToImage, "fk.png")); fkBitmap = fkBitmap.Resize(new SKSizeI(35, 20), SKFilterQuality.High); Dictionary <string, SKBitmap> icons = new Dictionary <string, SKBitmap>(); icons.Add("int", SKBitmap.Decode(Path.Combine(pathToImage, "Integer_16x.png"))); icons.Add("string", SKBitmap.Decode(Path.Combine(pathToImage, "String_16x.png"))); icons.Add("bool", SKBitmap.Decode(Path.Combine(pathToImage, "TrueFalse_16x.png"))); icons.Add("datetime", SKBitmap.Decode(Path.Combine(pathToImage, "DateTimeAxis_16x.png"))); // possible linux fix for green tint //key.MakeTransparent(); var primaryKeys = GeneratePrimaryKeyPositions(); DrawRelations(primaryKeys); var maxHeight = DrawTables(pkBitmap, fkBitmap, icons); Bitmap = DrawingHelper.CropImage(Bitmap, new SKRect(0, 0, ColumnCount * (TableWidth + LeftPadding) + LeftPadding, maxHeight)); }