9 Commits

Author SHA1 Message Date
Przemysław Czerpak
c4b2a030c4 2025-08-29 12:49 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbbmp/core.c
  * contrib/hbbmp/hbbmp.ch
  * contrib/hbbmp/hbbmp.h
  * contrib/hbbmp/hbbmp.hbx
    + added new PRG functions:
         hb_bmp_frombitmap( <cBitMap>, <nAlign>, <nWidth>, <nHeight>, ;
                            [<nDepth>=1], [<nDPI>=72], [<aPalette>], ;
                            [@<nError>] ) -> <pBMP> | NIL
         hb_bmp_colorreset( <pBMP> )

  * contrib/hbct/dattime3.c
    ! struct timespec initialization

  * contrib/hbplist.txt
    + added hbbmp library

  * contrib/hbzebra/coredraw.c
  * contrib/hbzebra/hbzebra.hbx
    + added new PRG function:
         hb_zebra_getbitmap( <hZebra>, <nAlign>=8, <lBottomUp>=.F., ;
                             @<nWidth>, @<nHeight>, <nScaleX>, <nScaleY>, ;
                             <nBorder> ) -> <cBitMap> | NIL

  * contrib/hbzebra/tests/bmp.prg
    + added example for much faster BMP creation using hb_zebra_getbitmap() and
      hb_bmp_frombitmap() functions

  * src/rtl/filebuf.c
    ! casting

  * src/vm/extrap.c
    * allocate stack buffer dynamically, in new Linux version IGSTKSZ is
      defined as sysconf( _SC_SIGSTKSZ ) so it cannot be used as legal size
      for static arrays
2025-08-29 12:49:40 +02:00
Przemysław Czerpak
332fb10134 2016-01-09 20:30 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbbz2/core.c
  * contrib/hbbz2/hbbz2.hbp
    * moved bz_internal_error() definition to separate file to avoid
      conflicts when more modules need it and/or define their own.

  * contrib/hbplist.txt
  + contrib/hbbz2io/bz2io.c
  + contrib/hbbz2io/hbbz2io.hbc
  + contrib/hbbz2io/hbbz2io.hbp
  + contrib/hbbz2io/hbbz2io.hbx
    + added new Harbour File IO driver for BZIP2 compressed streams.
      It redirects files with "bz:" and "bz[1-9]:" prefixes and can be
      used with hb_vf*() functions and transfer RDDs like SDF or DELIM,
      i.e.
            REQUEST HB_BZ2IO, HB_MEMIO
            USE test
            COPY TO mem:bz:test.txt.bz DELIMITED WITH TAB
            FOR EACH cLine IN ;
                        hb_ATokens( hb_MemoRead( "mem:bz:test.txt.bz" ), .t. )
               ? cLine
            NEXT
      or:
            REQUEST HB_GZIO, HB_BZ2IO
            FUNCTION GZip2Bz2( cFile )
            RETURN hb_vfCopy( "GZ:" + cFile + ".gz", "BZ:" + cFile + ".bz2" )
      In summary BZ2IO works like GZIO but uses BZIP2 slower though more
      efficient compression BZIP2 method instead of GZIP format.
2016-01-09 20:30:49 +01:00
Przemysław Czerpak
92941d1bf9 2016-01-04 22:57 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbplist.txt
    + added HBGZIO library
2016-01-04 22:57:30 +01:00
Przemysław Czerpak
118ab63dc9 2015-09-01 22:16 UTC+0200 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbplist.txt
    + added hbpipeio to list of contrib libraries
2015-09-01 22:16:18 +02:00
Przemysław Czerpak
74f298f8ec 2014-03-10 18:59 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* contrib/hbtcpio/tcpio.c
    * use default timeout defined in initial hostname string in read/write
      operations

  * include/hbapicom.h
  * src/rtl/hbcom.c
    + added new C function:
         int hb_comFindPort( const char * pszDevName, HB_BOOL fCreate );
      It check if given port name is already defined and if not and second
      parameter fCreate is TRUE then it allocates such port in one of last
      free slots. On success port number is returned. If port cannot be
      found or created 0 is returned.

  * include/harbour.hbx
  * src/rtl/hbcomhb.c
    + added new PRG function:
         hb_comFindPort( <cDeviceName> [, <lCreate> = .F. ] ) -> <nPort>

  * contrib/hbplist.txt
  + contrib/hbcomio/comio.c
  + contrib/hbcomio/hbcomio.hbc
  + contrib/hbcomio/hbcomio.hbp
    + added new Harbour FILE IO redirector.
      It recognizes and process names with "COM<n>:" prefix, in form like:
         COM<n>:[<com_params>]
      <n> is port number or port name prefixed with "$" character.
      <com_params> may contain serial port parameters like baud rate, stop
      and data bits, parity and flow control (XON,XOFF,CTS, RTS,DST,DTR).
      As delimiter comma "," is accepted.
      This redirector can be used in different subsystems using Harbour
      FILE IO and stream read/write operations, i.e.
         REQUEST HB_COMIO
         SET PRINTER TO COM2:38400,N81,XONXOFF
      can be used to connect to serial printers.
      Please remember that redirectors like NETIO can be used as wrapper
      to other redirectors so code like:
         pFile := hb_vfOpen( "NET:192.168.0.1:::COM1:9600,8N1" )
      opens 1-st serial port on the server and
         pFile := hb_vfOpen( "NET:192.168.0.1:::COM$/dev/ttyUSB0:9600,8N1" )
      opens "/dev/ttyUSB0" serial device on the server.
2014-03-10 18:59:52 +01:00
Przemysław Czerpak
c89f63ee0b 2014-03-06 19:07 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* src/vm/set.c
    ! fixed freed memory access exploited by interactions between
      modifications in last few years.
    ! do not try to remove trailing ^Z char reading from the stream
      if FS_END seek reports 0.
    ! if possible open printer/alternate/extra output in write only mode
      to avoid problem on devices where read access is not available.

  * src/rtl/langapi.c
    * keep EN lang active after deinitialization

  * src/rtl/filesys.c
    ! fixed condition for file time refresh in *nix builds
    ! fixed file time setting in *nix builds

  * include/hbapifs.h
  * src/rtl/Makefile
  * src/rtl/filebuf.c
  + src/rtl/filebufd.c
    * renamed hb_fileRegister2() to hb_fileRegisterFull()
    + added new function hb_fileRegisterPart() which simplifies writing
      small FILE IO redirectors.

  * contrib/hbmemio/memio.c
  * contrib/hbnetio/netiocli.c
    * use hb_fileRegisterFull()

  * contrib/hbplist.txt
  + contrib/hbtcpio/hbtcpio.hbc
  + contrib/hbtcpio/hbtcpio.hbp
  + contrib/hbtcpio/hbtcpio.hbx
  + contrib/hbtcpio/tcpio.c
    + added new Harbour FILE IO redirector.
      It recognizes and process names with "tcp:" prefix, in form like:
         tcp:<host>:<port>[:<timeout>]
      It can be used in different subsystems using Harbour FILE IO and
      stream read/write operations, i.e.
         REQUEST HB_TCPIO
         SET PRINTER TO tcp:192.168.0.110:9100
      can be used to connect to network printers using TCP direct printing.

  * utils/hbmk2/po/hbmk2.pt_BR.po
    ! fixed typo in translation
2014-03-06 19:07:49 +01:00
Przemysław Czerpak
96ca3fe470 2014-01-21 20:41 UTC+0100 Przemyslaw Czerpak (druzus/at/poczta.onet.pl)
* Makefile
  * config/*
  * contrib/*
  * doc/*
  * extras/*
  * include/*
  * lib/*
  * package/*
  * src/*
  * tests/*
  * utils/*
    * removed empty lines left after removed '$' + 'Id' + '$' identifiers
2014-01-21 20:41:05 +01:00
Przemysław Czerpak
f22713469b 2013-04-24 12:22 UTC+0200 Przemysław Czerpak (druzus/at/poczta.onet.pl)
+ contrib/gtqtc/gtqtc.cpp
  + contrib/gtqtc/gtqtc.h
  + contrib/gtqtc/gtqtc.hbc
  + contrib/gtqtc/gtqtc.hbp
  + contrib/gtqtc/gtqtc.hbx
  + contrib/gtqtc/hbmk2_qtmoc.hb
  * contrib/hbplist.txt
    + added new QT based GT driver: GTQTC.
      This implementation is slightly based on GTQTC created by
      Pritpal Bedi - many thanks.
      Now GTQTC supports nearly all GT features existing in all other GTs,
      i.e.
         fullscreen mode:
               hb_gtInfo( HB_GTI_ISFULLSCREEN, <lFullScreen> )
         automatic fullscreen switch after ALT+ENTER:
               hb_gtInfo( HB_GTI_ALTENTER, <lEnable> )
         maximized mode controlled by user:
               hb_gtInfo( HB_GTI_MAXIMIZED, <lEnable> )
         clipboard selection with SHIFT + MouseLeftButton:
               hb_gtInfo( HB_GTI_SELECTCOPY, <lEnable> )
         terminal window resizing:
               hb_gtInfo( HB_GTI_RESIZABLE, <lCanResize> )
         both resize modes
            a) change number of rowas and columns:
                  hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_ROWS )
            b) keep number of rows and clomuns and update font size
                  hb_gtInfo( HB_GTI_RESIZEMODE, HB_GTI_RESIZEMODE_FONT )
         blocking ALT+F4 and [X] window buttons:
               hb_gtInfo( HB_GTI_CLOSABLE, <lCanClose> )
         all cursor shapes and setting cursor blink rate:
               hb_gtInfo( HB_GTI_CURSORBLINKRATE, <nMilliSec> )
         window positioning in screen pixels:
               hb_gtInfo( HB_GTI_SETPOS_XY, <aNewPosXY> ) -> <aPrevPosXY>
         mouse positioning in screen pixels:
               hb_gtInfo( HB_GTI_MOUSEPOS_XY ) -> <aPosXY>
         full control on font behavior with:
            a) box characters shown as predefined internally pixmapos:
                  hb_gtinfo( HB_GTI_FONTATTRIBUTE,
                             hb_bitOr( HB_GTI_FONTA_DRAWBOX,
                                       hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
            b) forcing fixed size font metric:
                  hb_gtinfo( HB_GTI_FONTATTRIBUTE,
                             hb_bitOr( HB_GTI_FONTA_FIXMETRIC,
                                       hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
            c) independent character cell clearing:
                  hb_gtinfo( HB_GTI_FONTATTRIBUTE,
                             hb_bitOr( HB_GTI_FONTA_CLRBKG,
                                       hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
            d) displaying control characters ( ASC( x ) < 32 ) in row form:
                  hb_gtinfo( HB_GTI_FONTATTRIBUTE,
                             hb_bitOr( HB_GTI_FONTA_CTRLCHARS,
                                       hb_gtinfo( HB_GTI_FONTATTRIBUTE ) ) )
         and many others like palette settings (HB_GTI_PALETTE), displaying
         pictures (HB_GTI_DISPIMAGE), keyboard modifiers (HB_GTI_KBDSHIFTS),
         clipboard reading and setting (HB_GTI_CLIPBOARDDATA) or icon and
         window title settings (HB_GTI_ICONFILE, HB_GTI_WINTITLE)

      GTQTC also supports GFX graphic primitives (hb_gfx*()) and it operates
      on new Harbour extended mouse and keyboard key codes.
      The console window is shown when some user outputs appears so
      it can be linked with GT GUI application been invisible by default.

      It's pure QT code so now is the most portable Harbour GT driver which
      can be used on platforms where we haven't native any GT so far or
      current GTs like GTXWC do not have native appearance.
      Because it uses only high level GUI interface then it should be quite
      easy to convert it to other GUI libraries, i.e. GTK.
2013-04-24 12:22:18 +02:00
Viktor Szakats
38310bc781 2013-04-05 02:57 UTC+0200 Viktor Szakats (harbour syenar.net)
* bin/check.hb
    ! fixed to use local implementation instead of hb_DirScan()
      which has known bug of missing extensionless files on win.
      (due to hb_FileMatch() problem)
    + added support to optimize images and uncrustify C source
      before upload (inactive yet)
    + added necessary exceptions now that extensionless files
      properly found
    + checks for filenames without extensions
    + checks for filenames with extensions not in .gitattributes

  * bin/commit.hb
    + show helpful advice when pre-commit hook check fails
    ! fixed to propely pick filenames that result from rename operations (for check)
    ! fixed to not pick filenames of deleted files (for check)

  * config/lang.hb
  * doc/en/lang.txt
  * include/hblang.hbx
  * src/lang/Makefile
  * src/lang/l_zh_tra.c -> src/lang/l_zh.c
  * src/rtl/langcomp.prg
    * Language renamed: zh_tra -> zh (in sync with recently laid rules)
      The 'REQUEST HB_LANG_*' value become INCOMPATIBLE compared
      to previous dev versions

  * src/rtl/cdpdet.prg
    + added 'zh' country code to codepage detection

  * contrib/make.hb
  * contrib/hbplist -> contrib/hbplist.txt
    * renamed to have an extension

  * contrib/hbrun/doc/_GENERATED_ -> contrib/hbrun/doc/_autogen.txt
  * utils/hbmk2/doc/_GENERATED_ -> utils/hbmk2/doc/_autogen.txt
    * renamed to have names fitting naming rules
    + added warning message inside

  - extras/httpsrv/logs/empty
    - deleted unnecessary file with non-compliant filename

  - tests/stripeol.hb
    % deleted, now similar functionality is implemented in bin/check.hb

  * .gitattributes
    ! added missing .log and .ucf

  * contrib/hbtinymt/3rd/tinymt/tinymt.hbp
    ! deleted SVN ID

  * debian/copyright
    ! synced with COPYING.txt

  * debian/postinst
  * debian/postrm
    ! deleted multiple EOL at EOF
2013-04-05 03:02:47 +02:00