//static ImageList ImageList //{ // get // { // if (imageList == null) // { // Bitmap bmp; // if (Settings.GlobalSettings.GetBoolValue("PointSymbolsBold", false)) // { // bmp = BitmapTable.GetBitmap("PointSymbolsB.bmp"); // } // else // { // bmp = BitmapTable.GetBitmap("PointSymbols.bmp"); // } // // Die Datei PointSymbols.bmp muss so aufgebaut sein: // // sie enthält 6 Symbole nebeneinader, die alle quadratisch sind // // am besten mit ungerder Seitenlänge, dann ist es am einfachsten zu platzieren // // das erste Pixel links oben ist die transparentfarbe, am besten einfach s/w // Color clr = bmp.GetPixel(0, 0); // if (clr.A != 0) bmp.MakeTransparent(clr); // int h = bmp.Height; // imageList = new ImageList(); // imageList.ImageSize = new Size(h, h); // imageList.Images.AddStrip(bmp); // } // return imageList; // } //} public static void PointSymbol(IPaintTo3D paintTo3D, GeoPoint location, double size, GeoObject.PointSymbol symbol) { Bitmap bmp = null; if ((symbol & CADability.GeoObject.PointSymbol.Select) != 0) { bmp = BitmapList[12]; if (bmp != null) { paintTo3D.DisplayIcon(location, bmp); } return; // nur das volle Quadrat anzeigen, sonst nichts } int offset = 0; if (paintTo3D.UseLineWidth) { offset = 6; // so wird gesteuert dass bei nur dünn die dünnen Punkte und bei } // mit Linienstärke ggf. die dicken Punkte angezeigt werden (Forderung PFOCAD) switch ((GeoObject.PointSymbol)((int)symbol & 0x07)) { case CADability.GeoObject.PointSymbol.Empty: bmp = null; break; case CADability.GeoObject.PointSymbol.Dot: { bmp = BitmapList[0 + offset]; } break; case CADability.GeoObject.PointSymbol.Plus: { bmp = BitmapList[1 + offset]; } break; case CADability.GeoObject.PointSymbol.Cross: { bmp = BitmapList[2 + offset]; } break; case CADability.GeoObject.PointSymbol.Line: { bmp = BitmapList[3 + offset]; } break; } if (bmp != null) { paintTo3D.DisplayIcon(location, bmp); } bmp = null; if ((symbol & CADability.GeoObject.PointSymbol.Circle) != 0) { bmp = BitmapList[5 + offset]; } if ((symbol & CADability.GeoObject.PointSymbol.Square) != 0) { bmp = BitmapList[4 + offset]; } if (bmp != null) { paintTo3D.DisplayIcon(location, bmp); } }