diff options
Diffstat (limited to 'src/corelib')
-rw-r--r-- | src/corelib/fpg_base.pas | 14 | ||||
-rw-r--r-- | src/corelib/fpg_imgfmt_bmp.pas | 242 | ||||
-rw-r--r-- | src/corelib/fpg_imgfmt_png.pas | 16 | ||||
-rw-r--r-- | src/corelib/fpg_main.pas | 21 | ||||
-rw-r--r-- | src/corelib/fpg_utils.pas | 6 | ||||
-rw-r--r-- | src/corelib/fpg_widget.pas | 2 | ||||
-rw-r--r-- | src/corelib/gdi/fpgui_toolkit.lpk | 7 | ||||
-rw-r--r-- | src/corelib/render/software/Agg2D.pas | 103 | ||||
-rw-r--r-- | src/corelib/stdimages.inc | 192 | ||||
-rw-r--r-- | src/corelib/x11/fpg_utils_impl.inc | 6 | ||||
-rw-r--r-- | src/corelib/x11/fpgui_toolkit.lpk | 2 |
11 files changed, 471 insertions, 140 deletions
diff --git a/src/corelib/fpg_base.pas b/src/corelib/fpg_base.pas index 3eae947a..f3e8f6db 100644 --- a/src/corelib/fpg_base.pas +++ b/src/corelib/fpg_base.pas @@ -22,6 +22,9 @@ unit fpg_base; // To enable the AggPas powered Canvas {.$define AGGCanvas} +// For debug use only +{.$define GDEBUG} + interface uses @@ -778,6 +781,9 @@ uses fpg_form, // needed for fpgApplication.CreateForms() typinfo, process, + {$IFDEF GDEBUG} + dbugintf, + {$ENDIF} dateutils; @@ -2553,7 +2559,9 @@ begin p.CommandLine := GetHelpViewer + ' ' + HelpFile else p.CommandLine := GetHelpViewer + ' ' + HelpFile + ' -n ' + IntToStr(AHelpContext); -//writeln('DEBUG: TfpgApplicationBase.ContextHelp > ', p.CommandLine); + {$ifdef GDEBUG} + senddebug(p.CommandLine); + {$endif} end else p.CommandLine := GetHelpViewer; @@ -2576,7 +2584,9 @@ begin if fpgFileExists(HelpFile) then begin p.CommandLine := GetHelpViewer + ' ' + HelpFile + ' -s ' + AHelpKeyword; -//writeln('DEBUG: TfpgApplicationBase.ContextHelp > ', p.CommandLine); + {$ifdef GDEBUG} + senddebug(p.CommandLine); + {$endif} end else p.CommandLine := GetHelpViewer; diff --git a/src/corelib/fpg_imgfmt_bmp.pas b/src/corelib/fpg_imgfmt_bmp.pas index 353b3216..00637f3b 100644 --- a/src/corelib/fpg_imgfmt_bmp.pas +++ b/src/corelib/fpg_imgfmt_bmp.pas @@ -1,7 +1,7 @@ { fpGUI - Free Pascal GUI Toolkit - Copyright (C) 2006 - 2010 See the file AUTHORS.txt, included in this + Copyright (C) 2006 - 2013 See the file AUTHORS.txt, included in this distribution, for details of the copyright. See the file COPYING.modifiedLGPL, included in this distribution, @@ -38,6 +38,15 @@ implementation uses fpg_utils; +{$IF FPC_FULLVERSION<20602} +type + uint16 = word; + uint32 = cardinal; +{$IFEND} + + +procedure ReadImage_OS2BMP(img: TfpgImage; bmp: Pointer; bmpsize: longword); forward; + function CreateImage_BMP(bmp: Pointer; bmpsize: longword): TfpgImage; begin @@ -147,6 +156,13 @@ begin p := bmp; PByte(bh) := p; + + if bh^.signature = $4d62 then { 'bM' } + begin + ReadImage_OS2BMP(img, bmp, bmpsize); + exit; + end; + ppal := nil; if bh^.filesize <> bmpsize then Exit; //==> @@ -314,7 +330,229 @@ begin until linecnt >= img.Height; end; else - writeln('Unsupported BMP format!'); + raise Exception.Create('Unsupported BMP format!'); + end; + + if ppal <> nil then + FreeMem(ppal); + + img.UpdateImage; +end; + +type + { These records come from the HelpBitmap unit - part of DocView } + INFBITMAPHEADER = packed record + // BITMAP FILE HEADER + usType: uint16; // = 'bM' + cbSize: uint32; + xHotspot: uint16; + yHotspot: uint16; + DataOffset: uint32; // =size(hdr)+size(palette) + // BITMAP INFO HEADER + cbFIx: uint32; // =size(info_hdr) (usually = 12?) + Width: uint16; // width size + Height: uint16; // height size + cPlanes: uint16; // planes, =1 (always seems to be one) + BitCount: uint16; // bits per pixel + // followed by RGB triples if <= 8bpp + end; + + +procedure ReadImage_OS2BMP(img: TfpgImage; bmp: Pointer; bmpsize: longword); +var + bh: ^INFBITMAPHEADER; + p: PByte; + ppal: plongword; + pcol: Plongword; + palsize: integer; + pdata: PByte; + b: byte; + bit: byte; + bcnt: byte; + linecnt: integer; + pixelcnt: integer; + pdest: Plongword; + depth: integer; + + function GetPalColor(cindex: longword): longword; + var + pc: Plongword; + begin + pc := ppal; + Inc(pc, cindex); + Result := pc^; + end; + +begin + if img = nil then + Exit; //==> + + img.FreeImage; + + ppal := nil; + p := bmp; + PByte(bh) := p; + + pdata := bmp; + Inc(pdata, bh^.DataOffset); + Inc(p, SizeOf(INFBITMAPHEADER)); + + depth := bh^.BitCount; + + if depth > 1 then + img.AllocateImage(32, bh^.Width, bh^.Height)// color image (RGB or Indexed) + else + begin + img.AllocateImage(1, bh^.Width, bh^.Height); + img.AllocateMask; + end; + + if depth <= 8 then + begin + // reading color palette + case depth of + 1: palsize := 2; + 4: palsize := 16; + else + palsize := 256; + end; + + GetMem(ppal, palsize * SizeOf(longword)); + + pcol := ppal; + pixelcnt := 0; + // OS/2 1.x bitmap with uses 3-byte palette + while (p) < (pdata) do + begin + pcol^ := (LongWord($FF) shl 24) + (LongWord(p[2]) shl 16) + (LongWord(p[1]) shl 8) + LongWord(p[0]); + Inc(pcol); + inc(p, 3); + Inc(pixelcnt); + end; + end; + + pdest := img.ImageData; + Inc(pdest, img.Width * (img.Height - 1)); // bottom-up line order + p := bmp; + Inc(p, bh^.DataOffset); + + // reading the data... + case depth of + 1: + begin + // direct line transfer + //writeln('reading 1-bit color bitmap'); + linecnt := 0; + bcnt := img.Width div 32; + if (img.Width and $1F) > 0 then + Inc(bcnt); + + pdest := img.ImageData; + Inc(pdest, bcnt * (img.Height - 1)); // bottom-up line order + repeat + move(p^, pdest^, bcnt * 4); + Inc(p, bcnt * 4); + Dec(pdest, bcnt); + Inc(linecnt); + until linecnt >= img.Height; + + //Writeln(linecnt,' lines loaded.'); + move(img.ImageData^, img.MaskData^, img.ImageDataSize); + img.Invert(True); + end; + + 4: + begin + //writeln('reading 4-bit color'); + linecnt := 0; + repeat + // parse one line.. + bit := 0; + pixelcnt := 0; + bcnt := 0; + repeat + if bit = 0 then + b := (p^ shr 4) and $0F + else + begin + b := p^ and $0F; + Inc(p); + Inc(bcnt); + end; + + pdest^ := GetPalColor(b); + Inc(pdest); + Inc(pixelcnt); + bit := bit xor 1; + until pixelcnt >= img.Width; + + while (bcnt mod 4) <> 0 do + begin + Inc(bcnt); + Inc(p); + end; + + Inc(linecnt); + Dec(pdest, img.Width * 2); // go to next line + until linecnt >= img.Height; + end; + + 8: + begin + //writeln('reading 8-bit color'); + linecnt := 0; + repeat + // parse one line.. + pixelcnt := 0; + repeat + pdest^ := GetPalColor(p^); + Inc(p); + Inc(pdest); + Inc(pixelcnt); + until pixelcnt >= img.Width; + + while (pixelcnt mod 4) <> 0 do + begin + Inc(pixelcnt); + Inc(p); + end; + + Inc(linecnt); + Dec(pdest, img.Width * 2); // go to next line + until linecnt >= img.Height; + end; + + 24: + begin + //writeln('reading truecolor'); + linecnt := 0; + repeat + // parse one line.. + pixelcnt := 0; + repeat + pdest^ := p^; + Inc(p); + pdest^ := pdest^ or (longword(p^) shl 8); + Inc(p); + pdest^ := pdest^ or (longword(p^) shl 16) or ($FF shl 24) {alpha set to full opaque}; + Inc(p); + Inc(pdest); + Inc(pixelcnt); + until pixelcnt >= img.Width; + + pixelcnt := img.Width * 3; + while (pixelcnt mod 4) <> 0 do + begin + Inc(pixelcnt); + Inc(p); + end; + + Inc(linecnt); + Dec(pdest, img.Width * 2); // go to next line + until linecnt >= img.Height; + end; + else + raise Exception.Create('Unsupported BMP format!'); end; if ppal <> nil then diff --git a/src/corelib/fpg_imgfmt_png.pas b/src/corelib/fpg_imgfmt_png.pas index c0659d2e..c95150e4 100644 --- a/src/corelib/fpg_imgfmt_png.pas +++ b/src/corelib/fpg_imgfmt_png.pas @@ -1,7 +1,7 @@ { fpGUI - Free Pascal GUI Toolkit - Copyright (C) 2006 - 2012 See the file AUTHORS.txt, included in this + Copyright (C) 2006 - 2013 See the file AUTHORS.txt, included in this distribution, for details of the copyright. See the file COPYING.modifiedLGPL, included in this distribution, @@ -31,6 +31,7 @@ uses function LoadImage_PNG(const AFileName: TfpgString): TfpgImage; overload; function LoadImage_PNG(AStream: TStream): TfpgImage; overload; +function LoadImage_PNG(const AImageData: Pointer; const AImageDataSize: LongWord): TfpgImage; overload; function LoadImage_PNG(AInstance: THandle; const AResName: String; AResType: PChar): TfpgImage; overload; function LoadImage_PNGcrop(const AMaxWidth, AMaxHeight: integer; const AFileName: TfpgString): TfpgImage; @@ -114,6 +115,19 @@ begin end; end; +function LoadImage_PNG(const AImageData: Pointer; const AImageDataSize: LongWord): TfpgImage; +var + s: TMemoryStream; +begin + s := TMemoryStream.Create; + try + s.Write(AImageData^, AImageDataSize); + Result := LoadImage_PNG(s); + finally + s.Free; + end; +end; + function LoadImage_PNG(AInstance: THandle; const AResName: String; AResType: PChar): TfpgImage; var res: TResourceStream; diff --git a/src/corelib/fpg_main.pas b/src/corelib/fpg_main.pas index f90e6b4c..44ab6a82 100644 --- a/src/corelib/fpg_main.pas +++ b/src/corelib/fpg_main.pas @@ -214,6 +214,7 @@ type procedure DrawButtonFace(ACanvas: TfpgCanvas; r: TfpgRect; AFlags: TfpgButtonFlags); overload; function GetButtonBorders: TRect; virtual; function GetButtonShift: TPoint; virtual; + function HasButtonHoverEffect: boolean; virtual; { Menus } procedure DrawMenuBar(ACanvas: TfpgCanvas; r: TfpgRect; ABackgroundColor: TfpgColor); virtual; procedure DrawMenuRow(ACanvas: TfpgCanvas; r: TfpgRect; AFlags: TfpgMenuItemFlags); virtual; @@ -456,6 +457,9 @@ uses {$ifdef AGGCanvas} Agg2D, {$endif} +{$IFDEF DEBUG} + dbugintf, +{$ENDIF} fpg_imgfmt_bmp, fpg_stdimages, fpg_translations, @@ -831,14 +835,14 @@ begin FClassName := AClassName; FMethodName := AMethodName; {$IFDEF DEBUG} - Writeln(Format('%s>> %s.%s', [spacing, FClassName, FMethodName])); + SendDebug(Format('%s>> %s.%s', [spacing, FClassName, FMethodName])); {$ENDIF} end; destructor TPrintCallTrace.Destroy; begin {$IFDEF DEBUG} - Writeln(Format('%s<< %s.%s', [spacing, FClassName, FMethodName])); + SendDebug(Format('%s<< %s.%s', [spacing, FClassName, FMethodName])); {$ENDIF} dec(iCallTrace); inherited Destroy; @@ -1166,7 +1170,7 @@ begin end; {$IFDEF DEBUG} - Writeln('GetNamedFontDesc error: "' + afontid + '" is missing. Default is used.'); + SendDebug('GetNamedFontDesc error: "' + afontid + '" is missing. Default is used.'); {$ENDIF} Result := FPG_DEFAULT_FONT_DESC; end; @@ -1327,7 +1331,7 @@ begin begin fr.Free; {$IFDEF DEBUG} - writeln('fpGFX: Error opening font.'); + SendDebug('fpGFX: Error opening font.'); {$ENDIF} end; end; @@ -1650,7 +1654,7 @@ end; procedure TfpgApplication.HideHint; begin {$IFDEF DEBUG} - writeln('HideHint'); + SendDebug('HideHint'); {$ENDIF} FHintTimer.Enabled := False; if Assigned(FHintWindow) and TfpgHintWindow(FHintWindow).Visible then @@ -2340,6 +2344,11 @@ begin Result := Point(1, 1); end; +function TfpgStyle.HasButtonHoverEffect: boolean; +begin + Result := False; +end; + function TfpgStyle.GetControlFrameBorders: TRect; begin Result := Rect(2, 2, 2, 2); @@ -2433,7 +2442,7 @@ begin {$Note This occurs every now and again with TfpgMemo and CaretInvert painting! } // Investigate this. {$IFDEF DEBUG} - writeln('TfpgCaret.InvertCaret cause an exception'); + SendDebug('TfpgCaret.InvertCaret cause an exception'); {$ENDIF} end; end; diff --git a/src/corelib/fpg_utils.pas b/src/corelib/fpg_utils.pas index dcc0cf71..9d0e907d 100644 --- a/src/corelib/fpg_utils.pas +++ b/src/corelib/fpg_utils.pas @@ -63,6 +63,7 @@ function fpgExtractFileDir(const FileName: TfpgString): TfpgString; function fpgExtractFilePath(const FileName: TfpgString): TfpgString; function fpgExtractFileName(const FileName: TfpgString): TfpgString; function fpgExtractFileExt(const FileName: TfpgString): TfpgString; +function fpgExtractRelativepath(const ABaseName, ADestName: TfpgString): TfpgString; function fpgForceDirectories(const ADirectory: TfpgString): Boolean; function fpgChangeFileExt(const FileName, Extension: TfpgString): TfpgString; function fpgGetAppConfigDir(const Global: Boolean): TfpgString; @@ -164,6 +165,11 @@ begin Result := ExtractFileExt(fpgToOSEncoding(Filename)); end; +function fpgExtractRelativepath(const ABaseName, ADestName: TfpgString): TfpgString; +begin + Result := ExtractRelativepath(fpgToOSEncoding(ABaseName), fpgToOSEncoding(ADestName)); +end; + function fpgForceDirectories(const ADirectory: TfpgString): Boolean; begin Result := ForceDirectories(fpgToOSEncoding(ADirectory)); diff --git a/src/corelib/fpg_widget.pas b/src/corelib/fpg_widget.pas index 67206557..a74c1b30 100644 --- a/src/corelib/fpg_widget.pas +++ b/src/corelib/fpg_widget.pas @@ -960,7 +960,7 @@ begin dir := 0; - if not consumed and (keycode = fpgApplication.HelpKey) then + if not consumed and (keycode = fpgApplication.HelpKey) and (shiftstate=[]) then begin InvokeHelp; consumed := True; diff --git a/src/corelib/gdi/fpgui_toolkit.lpk b/src/corelib/gdi/fpgui_toolkit.lpk index f3f349c3..bf019e5f 100644 --- a/src/corelib/gdi/fpgui_toolkit.lpk +++ b/src/corelib/gdi/fpgui_toolkit.lpk @@ -1,12 +1,11 @@ <?xml version="1.0"?> <CONFIG> - <Package Version="3"> + <Package Version="4"> <PathDelim Value="\"/> <Name Value="fpgui_toolkit"/> - <AddToProjectUsesSection Value="False"/> <Author Value="Graeme Geldenhuys"/> <CompilerOptions> - <Version Value="9"/> + <Version Value="11"/> <PathDelim Value="\"/> <SearchPaths> <IncludeFiles Value="..\..;..\render\software"/> @@ -31,7 +30,7 @@ </CompilerOptions> <Description Value="fpGUI Toolkit"/> <License Value="LGPL 2 with static linking exception."/> - <Version Minor="8"/> + <Version Major="1"/> <Files Count="98"> <Item1> <Filename Value="..\stdimages.inc"/> diff --git a/src/corelib/render/software/Agg2D.pas b/src/corelib/render/software/Agg2D.pas index 79940cbd..50a68fb8 100644 --- a/src/corelib/render/software/Agg2D.pas +++ b/src/corelib/render/software/Agg2D.pas @@ -40,51 +40,51 @@ interface {$ENDIF} uses - agg_basics , - agg_array , - agg_trans_affine , - agg_trans_viewport , - agg_path_storage , - agg_conv_stroke , - agg_conv_transform , - agg_conv_curve , - agg_conv_dash , - agg_rendering_buffer , - agg_renderer_base , - agg_renderer_scanline , - agg_span_gradient , - agg_span_image_filter_rgba , - agg_span_image_resample_rgba , - agg_span_converter , - agg_span_interpolator_linear , - agg_span_allocator , - agg_rasterizer_scanline_aa , - agg_gamma_functions , - agg_scanline_u , - agg_arc , - agg_bezier_arc , - agg_rounded_rect , - agg_font_engine , - agg_font_cache_manager , - agg_pixfmt , - agg_pixfmt_rgb , - agg_pixfmt_rgba , - agg_color , - agg_math_stroke , - agg_image_filters , - agg_vertex_source , - agg_render_scanlines , + agg_basics , + agg_array , + agg_trans_affine , + agg_trans_viewport , + agg_path_storage , + agg_conv_stroke , + agg_conv_transform , + agg_conv_curve , + agg_conv_dash , + agg_rendering_buffer , + agg_renderer_base , + agg_renderer_scanline , + agg_span_gradient , + agg_span_image_filter_rgba , + agg_span_image_resample_rgba , + agg_span_converter , + agg_span_interpolator_linear , + agg_span_allocator , + agg_rasterizer_scanline_aa , + agg_gamma_functions , + agg_scanline_u , + agg_arc , + agg_bezier_arc , + agg_rounded_rect , + agg_font_engine , + agg_font_cache_manager , + agg_pixfmt , + agg_pixfmt_rgb , + agg_pixfmt_rgba , + agg_color , + agg_math_stroke , + agg_image_filters , + agg_vertex_source , + agg_render_scanlines , {$IFDEF AGG2D_USE_FREETYPE } - agg_font_freetype , + agg_font_freetype , {$ENDIF } {$IFDEF AGG2D_USE_WINFONTS} - agg_font_win32_tt , + agg_font_win32_tt , {$ENDIF } - Math , - Classes, - SysUtils, + Math, + Classes, + SysUtils, // This allows for platform specific uses clauses {$define uses_interface} @@ -98,8 +98,8 @@ uses {$I agg_platform_x11.inc} {$ENDIF} - fpg_base, - fpg_main; + fpg_base, + fpg_main; { GLOBAL VARIABLES & CONSTANTS } const @@ -3539,7 +3539,11 @@ begin {$IFDEF WINDOWS} Font('Arial', 13); {$ELSE} - Font('/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf', 13); + {$IFDEF BSD} + Font('/usr/local/lib/X11/fonts/Liberation/LiberationSans-Regular.ttf', 13); + {$ELSE} + Font('/usr/share/fonts/truetype/ttf-liberation/LiberationSans-Regular.ttf', 13); + {$ENDIF} {$ENDIF} end; @@ -3745,8 +3749,21 @@ begin end; procedure TAgg2D.DoDrawPolygon(Points: PPoint; NumPts: Integer; Winding: boolean); +var + i: integer; + poly: array of double; begin - + SetLength(poly, (NumPts*2)+1); // dynamic arrays start at 0, but we want to use 1..NumPts + for i := 1 to NumPts do + begin + poly[i * 2 - 1] := Points[i-1].X + 0.5; + poly[i * 2] := Points[i-1].Y + 0.5; + end; + // Draw Polygon + LineWidth(1); + LineColor(LineColor); + FillColor($00, $00, $00); // clBlack for now + Polygon(@poly[1], NumPts); end; diff --git a/src/corelib/stdimages.inc b/src/corelib/stdimages.inc index 076ae4a4..36255154 100644 --- a/src/corelib/stdimages.inc +++ b/src/corelib/stdimages.inc @@ -3017,175 +3017,209 @@ Const 0); Const - stdimg_print : Array[0..245] of byte = ( - 66, 77,246, 0, 0, 0, 0, 0, 0, 0,118, 0, 0, 0, 40, 0, 0, - 0, 16, 0, 0, 0, 16, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, - 128, 0, 0, 0, 18, 11, 0, 0, 18, 11, 0, 0, 16, 0, 0, 0, 16, - 0, 0, 0, 0, 0, 0, 0, 0, 0,128, 0, 0,128, 0, 0, 0,128, - 128, 0,128, 0, 0, 0,128, 0,128, 0,128,128, 0, 0,128,128,128, - 0,192,192,192, 0, 0, 0,255, 0,192,192,192, 0, 0,255,255, 0, - 255, 0, 0, 0,192,192,192, 0,255,255, 0, 0,255,255,255, 0,218, - 218,218,218,218,218,218,218,173, 0, 0, 0, 0, 0, 13,173,208,136, - 136,136,136,128,128,218, 0, 0, 0, 0, 0, 0, 8, 13, 8,136,136, - 139,187,136, 0, 10, 8,136,136,135,119,136, 8, 13, 0, 0, 0, 0, - 0, 0, 8,128, 8,136,136,136,136,128,128,128,208, 0, 0, 0, 0, - 8, 8, 0,173, 15,255,255,255,240,128,128,218,208,240, 0, 0,240, - 0, 10,173,160,255,255,255,255, 13,173,218,218, 15, 0, 0, 15, 10, - 218,173,173, 15,255,255,255,240,173,218,218,208, 0, 0, 0, 0,218, - 173,173,173,173,173,173,173,173); + stdimg_print: array[0..821] of byte = ( + 66, 77, 54, 3, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, + 0, 16, 0, 0, 0, 16, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, + 0, 3, 0, 0, 18, 11, 0, 0, 18, 11, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 0, 0, 0,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192, 0, 0, 0,192, + 192,192, 0, 0, 0,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192, + 192,192, 0, 0, 0,255, 0,255, 0, 0, 0,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192, 0,255,255, 0,255, + 255, 0,255,255,192,192,192,192,192,192, 0, 0, 0, 0, 0, 0, 0, + 0, 0,255, 0,255, 0, 0, 0,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,128,128,128,128,128,128,128,128, + 128,192,192,192,192,192,192, 0, 0, 0,192,192,192, 0, 0, 0,255, + 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,192,192,192,192,192,192, 0, 0, 0, 0, + 0, 0,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, + 192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, 0, 0, + 0,192,192,192, 0, 0, 0,192,192,192, 0, 0, 0,255, 0,255, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,192,192,192, 0, 0, + 0,192,192,192, 0, 0, 0, 0, 0, 0,255, 0,255,255, 0,255, 0, + 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255,255,255,255, 0, 0, 0,192,192,192, 0, 0, + 0,192,192,192, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255, 0, + 0, 0,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255,255,255,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255, + 255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255,255,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255, + 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, + 255,255,255, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,255, 0,255); const - stdimg_Adobe_pdf : Array[0..1253] of byte = ( + stdimg_adobe_pdf: array[0..1253] of byte = ( 66, 77,230, 4, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, 176, 4, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,226,226, + 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,255, 0,255,226,226, 226,148,148,148,152,152,152,152,152,152,152,152,152,152,152,152,152, 152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152,152, - 152,152,152,146,146,146,208,208,208,253,253,253,255,255,255,255,255, - 255,255,255,255,255,255,255,204,204,204,245,245,245,247,247,244,246, + 152,152,152,146,146,146,208,208,208,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,204,204,204,245,245,245,247,247,244,246, 246,244,244,244,244,245,245,245,210,210,209,212,212,212,200,201,200, 208,208,208,210,210,209,202,202,202,209,210,209,221,222,221,210,210, - 210,253,253,253,255,255,255,255,255,255,255,255,255,255,255,255,212, + 210,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,212, 212,212,254,254,255,205,205,255,226,226,255,255,255,255,255,255,255, 141,142,139,136,138,135,127,128,125,136,138,135,137,139,136,130,131, - 128,130,131,129,145,146,143,194,194,194,253,253,253,255,255,255,255, - 255,255,255,255,255,255,255,255,211,211,211,247,247,255,135,135,254, + 128,130,131,129,145,146,143,194,194,194,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,211,211,211,247,247,255,135,135,254, 144,144,254,229,229,254,255,255,255,173,174,172,151,153,151,157,159, 157,175,176,174,193,194,193,131,133,130,190,190,189,188,188,187,200, - 201,200,253,253,253,255,255,255,255,255,255,255,255,255,255,255,255, + 201,200,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, 211,211,211,253,253,254,221,221,253,138,138,253,155,155,253,249,249, 253,238,238,238,225,225,224,226,227,226,237,237,237,252,252,252,207, - 207,206,255,255,253,253,253,252,222,222,221,253,253,253,255,255,255, - 255,255,255,255,255,255,255,255,255,210,210,210,253,253,253,254,254, + 207,206,255,255,253,253,253,252,222,222,221,255, 0,255,255, 0,255, + 255, 0,255,255, 0,255,255, 0,255,210,210,210,253,253,253,254,254, 252,254,254,251,133,133,252,197,197,252,249,249,253,247,247,253,249, 249,253,250,250,253,244,244,252,231,231,254,197,196,251,217,214,249, - 213,212,220,253,253,253,255,255,255,255,255,255,255,255,255,255,255, + 213,212,220,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0, 255,209,209,209,251,251,251,250,250,250,252,252,250,248,248,250, 96, 96,252,188,188,251,175,175,251,166,166,251,164,164,252, 99, 99,252, - 122,122,252,180,180,251,228,228,252,224,224,220,253,253,253,255,255, - 255,255,255,255,255,255,255,255,255,255,209,209,209,250,250,250,249, + 122,122,252,180,180,251,228,228,252,224,224,220,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,209,209,209,250,250,250,249, 249,249,249,249,249,255,255,249,172,172,250,181,181,250,243,243,249, 131,131,251,162,162,250,192,192,250,195,195,250,201,201,250,243,243, - 250,221,221,220,253,253,253,255,255,255,255,255,255,255,255,255,255, - 255,255,208,208,208,248,248,248,247,247,247,247,247,247,247,247,247, + 250,221,221,220,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,208,208,208,248,248,248,247,247,247,247,247,247,247,247,247, 249,249,247,102,102,251,161,161,249,185,185,248,252,252,247,251,251, - 247,251,251,247,250,250,247,249,249,249,219,219,219,253,253,253,255, - 255,255,255,255,255,255,255,255,255,255,255,207,207,207,246,246,246, + 247,251,251,247,250,250,247,249,249,249,219,219,219,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,207,207,207,246,246,246, 245,245,245,245,245,245,245,245,245,247,247,245,184,184,247, 87, 87, 251,254,254,244,245,245,245,245,245,245,245,245,245,245,245,245,244, - 244,244,214,214,214,253,253,253,255,255,255,255,255,255,255,255,255, - 255,255,255,206,206,206,245,245,245,244,244,244,244,244,244,244,244, + 244,244,214,214,214,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,206,206,206,245,245,245,244,244,244,244,244,244,244,244, 244,247,247,244,176,176,246,125,125,248,253,253,244,244,244,244,244, - 244,244,243,243,243,240,240,240,238,238,238,209,209,209,252,252,252, - 255,255,255,255,255,255,255,255,255,255,255,255,205,205,205,243,243, + 244,244,243,243,243,240,240,240,238,238,238,209,209,209,255, 0,255, + 255, 0,255,255, 0,255,255, 0,255,255, 0,255,205,205,205,243,243, 243,242,242,242,242,242,242,242,242,242,247,247,242,118,118,248,191, 191,244,246,246,242,242,242,242,240,240,240,237,237,237,233,233,233, - 231,231,231,204,204,204,252,252,252,255,255,255,255,255,255,255,255, - 255,255,255,255,216,216,210,249,249,245,248,248,245,248,248,245,248, + 231,231,231,204,204,204,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,216,216,210,249,249,245,248,248,245,248,248,245,248, 248,245,254,254,245, 96, 96,254,238,238,245,250,250,244,242,242,241, - 234,234,234,230,230,230,227,227,227,223,223,223,196,196,196,252,252, - 252,202,202,222,114,114,167,122,122,170,122,122,170, 78, 78,130,145, + 234,234,234,230,230,230,227,227,227,223,223,223,196,196,196,255, 0, + 255,202,202,222,114,114,167,122,122,170,122,122,170, 78, 78,130,145, 145,177,138,138,173,139,139,172,140,140,171,146,146,172, 68, 68,176, 111,111,174,142,142,169,183,183,199,226,226,227,223,223,223,216,216, - 216,206,206,206,190,190,190,252,252,252,127,127,195, 0, 0,156, 0, + 216,206,206,206,190,190,190,255, 0,255,127,127,195, 0, 0,156, 0, 0,164, 11, 11,168, 44, 44,178, 6, 6,167, 69, 69,184, 53, 53,177, 50, 50,174, 13, 13,158, 3, 3,151, 3, 3,146, 0, 0,132,109,109, - 162,204,204,205,181,181,181,166,166,166,162,162,162,224,224,224,254, - 254,254,127,127,209, 0, 0,199, 4, 4,206, 36, 36,212,152,152,234, + 162,204,204,205,181,181,181,166,166,166,162,162,162,224,224,224,255, + 0,255,127,127,209, 0, 0,199, 4, 4,206, 36, 36,212,152,152,234, 28, 28,209,134,134,230,129,129,229,184,184,238, 41, 41,198, 0, 0, 183, 0, 0,175, 0, 0,159,100,100,165,180,180,181,185,185,185,189, - 189,189,219,219,219,254,254,254,255,255,255,138,138,225, 28, 28,227, + 189,189,219,219,219,255, 0,255,255, 0,255,138,138,225, 28, 28,227, 37, 37,232, 60, 60,234,187,187,247,196,196,248,129,129,238,129,129, 236,175,175,242,168,168,241, 5, 5,204, 0, 0,195, 0, 0,177, 92, - 92,166,185,185,187,244,244,244,224,224,224,252,252,252,255,255,255, - 254,254,254,143,143,237, 42, 42,240, 52, 52,244, 59, 59,242,118,118, + 92,166,185,185,187,244,244,244,224,224,224,255, 0,255,255, 0,255, + 255, 0,255,143,143,237, 42, 42,240, 52, 52,244, 59, 59,242,118,118, 244,101,101,240, 91, 91,235, 86, 86,230, 81, 81,226, 80, 80,221, 2, 2,202, 0, 0,192, 0, 0,177, 80, 80,162,187,187,190,229,229,229, - 251,251,251,255,255,255,254,254,254,255,255,255,221,221,249,184,184, + 255, 0,255,255, 0,255,255, 0,255,255, 0,255,221,221,249,184,184, 248,187,187,250,188,188,250,121,121,213,158,158,224,155,155,220,153, 153,218,147,147,213,142,142,207,141,141,201,135,135,195,126,126,184, - 148,148,176,227,227,228,253,253,253,255,255,255,254,254,254,255,255, - 255,255,255,255,254,254,254,254,254,254,254,254,254,254,254,255,248, - 248,249,243,243,244,243,243,244,243,243,243,242,242,243,241,241,242, - 239,239,239,237,237,238,235,235,236,245,245,245,254,254,254,255,255, - 255,254,254,254,255,255,255,255,255,255,255,255,255); + 148,148,176,227,227,228,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, + 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255, + 255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0,255,255, 0, + 255,255, 0,255,255, 0,255,255, 0,255,255, 0,255); Const - stdimg_preview : Array[0..1253] of byte = ( + stdimg_preview: array[0..1253] of byte = ( 66, 77,230, 4, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 40, 0, 0, 0, 20, 0, 0, 0, 20, 0, 0, 0, 1, 0, 24, 0, 0, 0, 0, 0, 176, 4, 0, 0, 19, 11, 0, 0, 19, 11, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,255,255,255,255,255,255,255,255,255,160,160,160,160,160, + 0, 0, 0,255, 0,255,255, 0,255,255, 0,255,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, - 160,160,160,160,160,160,160,160,160,255,255,255,255,255,255,255,255, + 160,160,160,160,160,160,160,160,160,255, 0,255,255, 0,255,255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,100,100,100,160,160, - 160,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0,100,100,100,100, + 160,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0,100,100,100,100, 100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100,100, 100,100,100, 0, 0, 0,150,150,150,200,200,200,200,200,200,200,200, - 200,200,200,200,100,100,100,160,160,160,255,255,255,255,255,255, 0, + 200,200,200,200,100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,200,200,200,100,100, 100,150,150,150,200,200,200,200,200,200,200,200,200,100,100,100,160, - 160,160,255,255,255,255,255,255, 0, 0, 0,255,255,255,255,255,255, + 160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,200,200,200,255,255,255,100,100,100,150,150,150,200, - 200,200,200,200,200,100,100,100,160,160,160,255,255,255,255,255,255, + 200,200,200,200,200,100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,220,220,220,220,220,220,220,220, 220,220,220,220,220,220,220,220,220,220,220,220,220,200,200,200,255, 255,255,255,255,255,100,100,100,150,150,150,200,200,200,100,100,100, - 160,160,160,255,255,255,255,255,255, 0, 0, 0,255,255,255,255,255, + 160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,200,200,200,255,255,255,255,255,255,255,255,255, - 100,100,100,150,150,150,100,100,100,160,160,160,255,255,255,255,255, + 100,100,100,150,150,150,100,100,100,160,160,160,255, 0,255,255, 0, 255, 0, 0, 0,255,255,255,255,255,255,200,200,200,200,200,200,200, 200,200,200,200,200,200,200,200,200,200,200,200,200,200,100,100,100, 100,100,100,100,100,100,100,100,100,100,100,100, 0, 0, 0,100,100, - 100,160,160,160,255,255,255,255,255,255, 0, 0, 0,255,255,255,255, + 100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,200,200,200,100,100,100,160,160,160,255,255,255,255, - 255,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160,160,160, + 255,255,255,255,200,200,200,100,100,100,160,160,160,255, 0,255,255, + 0,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,255,255,255,200,200,200,100, - 100,100,160,160,160,255,255,255,255,255,255, 0, 0, 0,255,255,255, + 100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,200,200,200,100,100,100,160,160,160,255,255,255, - 255,255,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160,160, + 255,255,255,255,255,200,200,200,100,100,100,160,160,160,255, 0,255, + 255, 0,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,255,255,255,200,200,200, - 100,100,100,160,160,160,255,255,255,255,255,255, 0, 0, 0,255,255, + 100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,200,200,200,100,100,100,160,160,160,255,255, - 255,255,255,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160, + 255,255,255,255,255,255,200,200,200,100,100,100,160,160,160,255, 0, + 255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,255,255,255,200,200, - 200,100,100,100,160,160,160,255,255,255,255,255,255, 0, 0, 0,255, + 200,100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,200,200,200,100,100,100,160,160,160,255, - 255,255,255,255,255, 0, 0, 0,255,255,255,255,255,255,160,160,160, + 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,255,255,255,200, - 200,200,100,100,100,160,160,160,255,255,255,255,255,255, 0, 0, 0, + 200,200,100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,200,200,200,100,100,100,160,160,160, - 255,255,255,255,255,255, 0, 0, 0,255,255,255,255,255,255,160,160, + 255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160,160, 160,160,160,160,160,160,160,160,160,160,160,160,160,160,255,255,255, - 200,200,200,100,100,100,160,160,160,255,255,255,255,255,255, 0, 0, + 200,200,200,100,100,100,160,160,160,255, 0,255,255, 0,255, 0, 0, 0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, 255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255, - 255,255,255,255,255,255,255,255,255,200,200,200,100,100,100,255,255, - 255,255,255,255,255,255,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 255,255,255,255,255,255,255,255,255,200,200,200,100,100,100,255, 0, + 255,255, 0,255,255, 0,255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,255,255,255,255,255,255,255,255,255); + 0, 0, 0, 0,255, 0,255,255, 0,255,255, 0,255); diff --git a/src/corelib/x11/fpg_utils_impl.inc b/src/corelib/x11/fpg_utils_impl.inc index 753b0ea1..bc5917e9 100644 --- a/src/corelib/x11/fpg_utils_impl.inc +++ b/src/corelib/x11/fpg_utils_impl.inc @@ -34,7 +34,11 @@ begin else if fpsystem('which opera') = 0 then Helper := 'opera' else if fpsystem('which mozilla') = 0 then - Helper := 'mozilla'; + Helper := 'mozilla' + else if fpsystem('which chrome') = 0 then + Helper := 'chrome' + else if fpsystem('which chromium') = 0 then + Helper := 'chromium'; if Helper <> '' then fpSystem(Helper + ' ' + aURL + '&'); diff --git a/src/corelib/x11/fpgui_toolkit.lpk b/src/corelib/x11/fpgui_toolkit.lpk index 9be3ad6e..ff08daeb 100644 --- a/src/corelib/x11/fpgui_toolkit.lpk +++ b/src/corelib/x11/fpgui_toolkit.lpk @@ -28,7 +28,7 @@ </CompilerOptions> <Description Value="fpGUI Toolkit"/> <License Value="LGPL 2 with static linking exception."/> - <Version Minor="8"/> + <Version Major="1"/> <Files Count="100"> <Item1> <Filename Value="../stdimages.inc"/> |