📄 mapxstyles.pas
字号:
begin
inherited;
OleFont:= AStyle.TextFont;
FName := OleFont.Name;
FSize := OleFont.Size;
FColor := AStyle.TextFontColor;
FRotation := AStyle.TextFontRotation;
FBgStyle:=fbgNone;
if AStyle.TextFontHalo then
FBgStyle:=fbgHalo
else if AStyle.TextFontOpaque then
FBgStyle:=fbgBox;
FBackColor := AStyle.TextFontBackColor;
end;
procedure TFontStyleInfo.AssignFromFont(AFont: TFont);
var
OleFont: Variant;
begin
OleFont:=FontToOleFont(AFont);
FName := OleFont.Name;
FSize := OleFont.Size;
FColor := AFont.Color;
end;
procedure TFontStyleInfo.ConfigToFont(AFont: TFont);
begin
AFont.Name:=FName;
AFont.Size:=FSize;
AFont.Color:=FColor;
end;
procedure TFontStyleInfo.ConfigToStyle(AStyle: Style);
var
OleFont: Variant;
begin
inherited;
OleFont:= AStyle.TextFont;
OleFont.Name:=FName;
OleFont.Size:=FSize;
AStyle.TextFontColor:=FColor;
AStyle.TextFontRotation:=FRotation;
AStyle.TextFontHalo:=False;
AStyle.TextFontOpaque:=False;
case FBgStyle of
fbgHalo: AStyle.TextFontHalo:=True;
fbgBox: AStyle.TextFontOpaque:=True;
end;
AStyle.TextFontBackColor:=FBackColor;
end;
constructor TFontStyleInfo.Create;
var
mstyle:Style;
begin
inherited;
mstyle:=CoStyle.Create;
Assign(mstyle);
mstyle:=nil;
end;
function TFontStyleInfo.CreateStyleInterfaceObject: Style;
begin
Result:=inherited CreateStyleInterfaceObject;
ConfigToStyle(Result);
end;
procedure TFontStyleInfo.LoadFromStream(Stream: TStream);
begin
inherited LoadFromStream(Stream);
Size:=ReadInteger(Stream);
Rotation:=ReadInteger(Stream);
Color:=ReadInteger(Stream);
BackColor:=ReadInteger(Stream);
Name:=ReadString(Stream);
BgStyle:=TFontBackgroundStyle(ReadInteger(Stream));
end;
procedure TFontStyleInfo.SaveToStream(Stream: TStream);
begin
inherited SaveToStream(Stream);
WriteInteger(Stream, Size);
WriteInteger(Stream, Rotation);
WriteInteger(Stream, Color);
WriteInteger(Stream, BackColor);
WriteString(Stream, Name);
WriteInteger(Stream, Ord(BgStyle));
end;
{ TLineStyleInfo }
procedure TLineStyleInfo.Assign(AStyle: Style);
begin
inherited;
FLineColor:=AStyle.LineColor;
FLineStyle:=AStyle.LineStyle;
FLineWidthUnit:=AStyle.LineWidthUnit;
FLineWidth:=AStyle.LineWidth;
FLineInterleaved:=AStyle.LineInterleaved;
end;
procedure TLineStyleInfo.ConfigToStyle(AStyle: Style);
begin
inherited;
AStyle.LineColor:=FLineColor;
AStyle.LineStyle:=FLineStyle;
AStyle.LineWidthUnit:=FLineWidthUnit;
AStyle.LineWidth:=FLineWidth;
AStyle.LineInterleaved:=FLineInterleaved;
end;
constructor TLineStyleInfo.Create;
var
mstyle:Style;
begin
inherited;
mstyle:=CoStyle.Create;
Assign(mstyle);
mstyle:=nil;
end;
function TLineStyleInfo.CreateStyleInterfaceObject: Style;
begin
Result:=inherited CreateStyleInterfaceObject;
ConfigToStyle(Result);
end;
procedure TLineStyleInfo.LoadFromStream(Stream: TStream);
begin
inherited LoadFromStream(Stream);
LineColor:=ReadInteger(Stream);
LineWidth:=ReadInteger(Stream);
LineStyle:=ReadInteger(Stream);
LineWidthUnit:=ReadInteger(Stream);
LineInterleaved:=ReadBoolean(Stream);
end;
procedure TLineStyleInfo.SaveToStream(Stream: TStream);
begin
inherited SaveToStream(Stream);
WriteInteger(Stream, LineColor);
WriteInteger(Stream, LineWidth);
WriteInteger(Stream, LineStyle);
WriteInteger(Stream, LineWidthUnit);
WriteBoolean(Stream, LineInterleaved);
end;
{ TSymbolBitmapStyleInfo }
procedure TSymbolBitmapStyleInfo.Assign(AStyle: Style);
begin
inherited;
FBitmapTransparent:=AStyle.SymbolBitmapTransparent;
FBitmapSize:=AStyle.SymbolBitmapSize;
FBitmapName:=AStyle.SymbolBitmapName;
FBitmapColor:=AStyle.SymbolBitmapColor;
FBitmapOverrideColor:=AStyle.SymbolBitmapOverrideColor;
end;
procedure TSymbolBitmapStyleInfo.ConfigToStyle(AStyle: Style);
begin
inherited;
AStyle.SymbolType := miSymbolTypeBitmap;
AStyle.SymbolBitmapSize := FBitmapSize;
AStyle.SymbolBitmapTransparent := FBitmapTransparent;
AStyle.SymbolBitmapName := FBitmapName;
AStyle.SymbolBitmapColor := FBitmapColor;
end;
constructor TSymbolBitmapStyleInfo.Create;
var
mstyle:Style;
begin
inherited;
mstyle:=CoStyle.Create;
Assign(mstyle);
mstyle:=nil;
end;
function TSymbolBitmapStyleInfo.CreateStyleInterfaceObject: Style;
begin
Result:=inherited CreateStyleInterfaceObject;
ConfigToStyle(Result);
end;
procedure TSymbolBitmapStyleInfo.LoadFromStream(Stream: TStream);
begin
inherited LoadFromStream(Stream);
BitmapTransparent:=ReadBoolean(Stream);
BitmapSize:=ReadInteger(Stream);
BitmapName:=ReadString(Stream);
BitmapColor:=ReadInteger(Stream);
BitmapOverrideColor:=ReadBoolean(Stream);
end;
procedure TSymbolBitmapStyleInfo.SaveToStream(Stream: TStream);
begin
inherited SaveToStream(Stream);
WriteBoolean(Stream, BitmapTransparent);
WriteInteger(Stream, BitmapSize);
WriteString(Stream, BitmapName);
WriteInteger(Stream, BitmapColor);
WriteBoolean(Stream, BitmapOverrideColor);
end;
{ TSymbolFontStyleInfo }
procedure TSymbolFontStyleInfo.Assign(AStyle: Style);
var
OleFont: Variant;
begin
inherited;
OleFont:= AStyle.TextFont;
FName := OleFont.Name;
FSize := OleFont.Size;
FColor := AStyle.SymbolFontColor;
FRotation := AStyle.SymbolFontRotation;
FBgStyle:=fbgNone;
if AStyle.SymbolFontHalo then
FBgStyle:=fbgHalo
else if AStyle.SymbolFontOpaque then
FBgStyle:=fbgBox;
FBackColor := AStyle.SymbolFontBackColor;
FSymbolCharacter := AStyle.SymbolCharacter;
end;
procedure TSymbolFontStyleInfo.ConfigToStyle(AStyle: Style);
var
OleFont: Variant;
begin
inherited;
AStyle.SymbolType := miSymbolTypeTrueTypeFont;
OleFont:= AStyle.TextFont;
OleFont.Name:=FName;
OleFont.Size:=FSize;
AStyle.SymbolFontColor:=FColor;
AStyle.SymbolFontRotation:=FRotation;
AStyle.SymbolFontHalo:=False;
AStyle.SymbolFontOpaque:=False;
case FBgStyle of
fbgHalo: AStyle.SymbolFontHalo:=True;
fbgBox: AStyle.SymbolFontOpaque:=True;
end;
AStyle.SymbolFontBackColor:=FBackColor;
AStyle.SymbolCharacter:=FSymbolCharacter;
end;
constructor TSymbolFontStyleInfo.Create;
var
mstyle:Style;
begin
inherited;
mstyle:=CoStyle.Create;
Assign(mstyle);
mstyle:=nil;
end;
function TSymbolFontStyleInfo.CreateStyleInterfaceObject: Style;
begin
Result:=inherited CreateStyleInterfaceObject;
ConfigToStyle(Result);
end;
procedure TSymbolFontStyleInfo.LoadFromStream(Stream: TStream);
begin
inherited LoadFromStream(Stream);
SymbolCharacter:=ReadSmallint(Stream);
end;
procedure TSymbolFontStyleInfo.SaveToStream(Stream: TStream);
begin
inherited SaveToStream(Stream);
WriteSmallint(Stream, SymbolCharacter);
end;
{ TRegionStyleInfo }
procedure TRegionStyleInfo.Assign(AStyle: Style);
begin
inherited;
FRegionColor:=AStyle.RegionColor;
FRegionPattern:=AStyle.RegionPattern;
FRegionBackColor:=AStyle.RegionBackColor;
FRegionTransparent:=AStyle.RegionTransparent;
FRegionBorderStyle:=AStyle.RegionBorderStyle;
FRegionBorderColor:=AStyle.RegionBorderColor;
FRegionBorderWidthUnit:=AStyle.RegionBorderWidthUnit;
FRegionBorderWidth:=AStyle.RegionBorderWidth;
end;
procedure TRegionStyleInfo.ConfigToStyle(AStyle: Style);
begin
inherited;
AStyle.RegionColor:=FRegionColor;
AStyle.RegionPattern:=FRegionPattern;
AStyle.RegionBackColor:=FRegionBackColor;
AStyle.RegionTransparent:=FRegionTransparent;
AStyle.RegionBorderStyle:=FRegionBorderStyle;
AStyle.RegionBorderColor:=FRegionBorderColor;
AStyle.RegionBorderWidthUnit:=FRegionBorderWidthUnit;
AStyle.RegionBorderWidth:=FRegionBorderWidth;
end;
constructor TRegionStyleInfo.Create;
var
mstyle:Style;
begin
inherited;
mstyle:=CoStyle.Create;
Assign(mstyle);
mstyle:=nil;
end;
function TRegionStyleInfo.CreateStyleInterfaceObject: Style;
begin
Result:=inherited CreateStyleInterfaceObject;
ConfigToStyle(Result);
end;
procedure TRegionStyleInfo.LoadFromStream(Stream: TStream);
begin
inherited;
FRegionTransparent:=ReadBoolean(Stream);
FRegionBorderWidthUnit:=ReadLongword(Stream);
FRegionPattern:=ReadLongword(Stream);
FRegionBorderStyle:=ReadLongword(Stream);
FRegionBorderWidth:=ReadSmallint(Stream);
FRegionColor:=ReadInteger(Stream);
FRegionBackColor:=ReadInteger(Stream);
FRegionBorderColor:=ReadInteger(Stream);
end;
procedure TRegionStyleInfo.SaveToStream(Stream: TStream);
begin
inherited;
WriteBoolean(Stream, FRegionTransparent);
WriteLongword(Stream, FRegionBorderWidthUnit);
WriteLongword(Stream, FRegionPattern);
WriteLongword(Stream, FRegionBorderStyle);
WriteSmallint(Stream, FRegionBorderWidth);
WriteInteger(Stream, FRegionColor);
WriteInteger(Stream, FRegionBackColor);
WriteInteger(Stream, FRegionBorderColor);
end;
initialization
StyleClasses.Add(TCustomStyleInfo);
StyleClasses.Add(TSymbolVectorSytleInfo);
StyleClasses.Add(TFontStyleInfo);
StyleClasses.Add(TLineStyleInfo);
StyleClasses.Add(TRegionStyleInfo);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -