* BUG: List: Fix two false positive compiler warnings on some systems.
* BUG: AvlTree: Don't forward-declare a typedef. It bothers some compilers.
* BUG: Also update Key from AvlTree_get().
* BUG: Invalidate the enumerators in AvlTree.Clear()
git-svn-id: svn://localhost/gambas/trunk@5865 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: ImageEditor: Fix a crash that occurs after something having pasted.
[EXAMPLES]
* NEW: Md2Model example has been redesigned. It now displays a lot of
models between six different ones.
[INTERPRETER]
* BUG: Fix a crash when an error is raised while the startup class is not
ready.
[GB.GEOM]
* BUG: Fix the conversion from Point/PointF to Float that internally uses
the Abs() function.
[GB.GTK]
* NEW: Visible trayicons prevent the eventloop from stopping.
[GB.OPENGL.SGE]
* NEW: The component sources are now located inside the gb.opengl
directory.
* NEW: The component interface has been redesigned.
[GB.QT4]
* NEW: Visible trayicons prevent the eventloop from stopping.
[GB.QT4.OPENGL]
* BUG: The OpenGL clear color is now taken into account when clearing the
area before calling the Draw event handler.
git-svn-id: svn://localhost/gambas/trunk@5836 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Complete the french translation.
[INTERPRETER]
* BUG: Class reimplementation of Abs() now can return an object or a
floating-point number.
[GB.COMPLEX]
* BUG: Abs() on a Complex returns a Float.
[GB.GEOM]
* BUG: Abs() on a Point or a PointF returns a Float.
[GB.GSL]
* BUG: Abs() on a Complex returns a Float.
git-svn-id: svn://localhost/gambas/trunk@5835 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Abs() when that operator is implemented at class level, so that
it returns an object and not necesarrily a floating point value.
[GB.GMP]
* NEW: New component based on the Gnu Multiple Precision Arithmetic
Library. Only big integers (BigInt class) are partially implemented at
the moment.
git-svn-id: svn://localhost/gambas/trunk@5826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mark component as stable
[GB.OPENSSL]
* NEW: Mark component as stable
git-svn-id: svn://localhost/gambas/trunk@5825 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Mark the component as stable.
[GB.GUI.BASE]
* BUG: Draw.Picture() and Draw.Image() source arguments now work correctly.
* NEW: Add void constructors to HSplit and VSplit for the documentation.
git-svn-id: svn://localhost/gambas/trunk@5824 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright years.
* NEW: Have a stripped-down version of gb_common_string_temp.h to provide
STRING_compare() without producing compilation problems.
* NEW: AvlTree is a new Collection-like class implementing a balanced
binary search tree. It does _not_ utilise hashing in order to maintain
an order of the literal key strings given by the user (For Each thus
traverses from smallest to greatest key).
* NEW: Carry in a stripped-down version of Bob Jenkins' lookup3 hash
algorithm from the Public Domain. It was a last-minute decision to not use
it in AvlTree to maintain the literal key order.
git-svn-id: svn://localhost/gambas/trunk@5812 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Bug fixes. Clicking on the center button of a selected
shape now selects the next one whose center is about at the same place.
[GB.CLIPPER]
* BUG: Clipper Offset, Union, Intersection... methods now ensure that they
return closed polygons.
* NEW: Polygon.Orientation is a new property that returns the polygon
orientation.
git-svn-id: svn://localhost/gambas/trunk@5806 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: ImageEditor: Optimize the pen and eraser tools.
* NEW: ImageEditor: The popup menu allows to define the magnet grid of the
current selected shape.
[GB.CLIPPER]
* BUG: Polygon.Clean() does not close the polygon automatically.
* NEW: Polygon.Add() and Polygon.AddPoint() are two new methods to add a
point to a polygon.
* NEW: Polygon.Remove() is a new method to remove points from a polygon.
[GB.FORM]
* NEW: The ImageView draws nothing by itself if its Draw event is catched.
Drawing the image is then entirely up to the Draw event handler.
git-svn-id: svn://localhost/gambas/trunk@5805 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Pressing SHIFT with the magic wand substracts to the
current selection.
* BUG: ImageEditor: Selection handles are correctly updated in all cases.
[GB.CLIPPER]
* NEW: Implementation of the three other boolean operations through the
Clipper.Intersection(), Clipper.Difference() and Clipper.ExclusiveOr()
methods.
git-svn-id: svn://localhost/gambas/trunk@5795 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: the magic wand automatically merge the current
selection.
[GB.CLIPPER]
* NEW: Polygon is a new class that represents a polygon. It can be
automatically converted to and from PointF[].
* NEW: All methods now use Polygon and Polygon[] instead of PointF[] and
PointF[][].
* NEW: Clipper.Union() is a new method that returns the union of an array
of polygons.
git-svn-id: svn://localhost/gambas/trunk@5794 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: The image size is displayed wen the mouse cursor is
outside of the view. Many bug fixes. The magic wand has been implemented.
JIT compiler is used to speed-up the routine.
[GB.CLIPPER]
* NEW: Clipper.OffsetPolygons has been renamed as Clipper.Offset.
* NEW: Clipper.Simplify and Clipper.Clean methods have been implemented.
[GB.DESKTOP]
* NEW: DesktopFile.Run() method now returns the created process object.
[GB.IMAGE]
* NEW: Color.Distance() is a new method that returns the RGBA distance
between two colours as a floating point value between 0.0 and 1.0.
git-svn-id: svn://localhost/gambas/trunk@5792 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Invert the current selected shape reverses its points
order. Selection offset has been implemented on top of the new
gb.clipper component. Many bug fixes.
[GB.CLIPPER]
* NEW: This a new component based on the "Clipper" library. At the moment,
it only allows to offset a group of polygons from a specified pixel
delta.
git-svn-id: svn://localhost/gambas/trunk@5788 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: ImageEditor: Tons of bug fixes. The current selection and the
current pasted image can be moved, rotated and shrinked with the mouse.
* NEW: Image rotation tool.
[GB.DRAW]
* BUG: The PaintMatrix class is now really autonomous. It can be used
without a current drawing device.
* NEW: PaintMatrix.Copy() is a new method that copies a matrix.
* NEW: PaintMatrix.Map() is a new method that applies a matrix to a point
and returns the result.
[GB.FORM]
* NEW: ImageView can take the focus.
* BUG: DirChooser should not crash anymore when it cannot access a
bookmark.
[GB.GTK]
* NEW: Implementation of the new PaintMatrix design.
[GB.IMAGE]
* BUG: Image.Fuzzy() argument cannot be greater than 254.
[GB.QT4]
* NEW: Implementation of the new PaintMatrix design.
git-svn-id: svn://localhost/gambas/trunk@5779 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix possible bugs when updating an invalid Current.
* BUG: Really erase old elements instead of just marking them as Null to
prevent (potential) information leaks.
* OPT: Current and the enumerators (internally) carry list global indices
(LGI) which can be used as anchor points together with List.Count to speed
up traversals (always taking the shortest way through the list).
* OPT: Remove workaround code related to an enumerator bug fixed in #5749.
* NEW: Expose List.Current as a virtual object representing the current list
element which has Append() and Prepend() methods to manipulate the list
not only around its head. This breaks backwards compatibility.
* NEW: List.Value is what List.Current has meant formerly.
* NEW: Add List.Current.Index and List.Index which are an absolute index of
the current element into the list. These are guaranteed to be in bounds of
[-List.Count; List.Count - 1]. Note that each non-negative index has an
associated negative equivalent and vice versa. They work like the indices
given to List._get().
* NEW: Add a List.AutoNormalize property which instructs the list to
automatically make indices (like resulting from a calculation) fit into
the List bounds preserving the sign of the given index. This effectively
prevents any "Out of bounds" errors.
* NEW: Add List.MoveTo() to point Current to an index.
* NEW: List.Current.Is{First,Last,Valid} can be used to determine if Current
is the first or last element of the list or if it is valid, respectively.
git-svn-id: svn://localhost/gambas/trunk@5778 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image editor: Support for gamma, hue, saturation and lightness
balance. Read-only mode has been implemented. Many bug fixes everywhere.
[GB.FORM]
* NEW: Remove Brightness and Contrast properties from the ImageView
control.
[GB.IMAGE]
* NEW: Image.BrightnessContrast has been removed.
* NEW: New balance methods: Image.Brightness, Image.Contrast, Image.Gamma,
Image.Hue, Image.Saturation, Image.Lightness.
* NEW: Image.BeginBalance() and Image.EndBalance() are two new methods that
allow to group calls to the previous methods, so that all the balances
are done in one shot.
git-svn-id: svn://localhost/gambas/trunk@5776 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Image editor: Image brightness and constrast, clipboard management,
cut, copy & paste have been implemented. Many fixes everywhere.
* NEW: Image editor: Resize dialog has been enhanced.
[GB.IMAGE]
* BUG: Image.Copy() now checks its arguments better, so that it does not
generate images with garbage inside.
* NEW: Image.BrightnessContrast() is a new method that allows to change the
brightness and contrast of an image.
* OPT: Internal routines for color space conversion between HSV and RGB
have been optimized.
[GB.FORM]
* NEW: The ImageView Draw event now takes the image that has been drawn as
argument.
* NEW: ImageView.Brightness and ImageView.Contrast are two new properties
that allow to define the corresponding effects applied to the displayed
image.
git-svn-id: svn://localhost/gambas/trunk@5775 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: When the 'gb.web' component is selected, a new option is available
in the project property dialog: "Run in an embedded HTTP server".
(INTERPRETER]
* NEW: GB.System.Debug() is a new API that allows to know if the
interpreter is run in debugging mode.
[GB.DEBUG]
* NEW: The debugger tells the IDE when its prompt is the first one.
[GB.HTTPD]
* NEW: Reset locale to "C" before running the http server.
* BUG: The CGI "SCRIPT_NAME" variable is set to "/".
* NEW: The default CGI timeout is now 10 minutes.
* NEW: Behave accurately when run in debugging mode : only one CGI script
at a time is allowed.
* NEW: When run in debugging mode, there is no CGI timeout.
git-svn-id: svn://localhost/gambas/trunk@5765 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Components can have a new state: "Deprecated".
[DEVELOPMENT ENVIRONMENT]
* NEW: Add a filter to the component tab of the project property dialog.
[WEBSITE MAKER]
* BUG: Translations came back.
[GB.OPTION]
* NEW: This component is now deprecated.
[GB.V4L]
* NEW: This component is now deprecated.
git-svn-id: svn://localhost/gambas/trunk@5761 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: GB.ReturnSingle() is a new API that allows to return a Single from a
method or property implementation routine.
[GB.NET.POP3]
* NEW: Pop3Client has a new Remove() method to delete a message from its
index. Pop3Client.Remove(n) is just a synonymous for
Pop3Client[n].Delete.
[GB.OPENAL]
* NEW: New component for the OpenAL 3D audio library. Work in progress...
[GB.OPENGL]
* BUG: Fix a possible crash in GL.GenTextures(). I guess that bug will have
to be fixed in other equivalent routines.
git-svn-id: svn://localhost/gambas/trunk@5753 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Using a database URL in the Connection constructor works now.
git-svn-id: svn://localhost/gambas/trunk@5735 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* OPT: Shrink internal data structures and adjust algorithms likely
improving performance (noticably for the 'random' case of my stress test -
the 'best' case is almost on a par with Variant[] now).
* BUG: Fix difficult-to-spot List.Take() bugs due to difficulties with the
former internal data structures. The class now survives all my test cases
(without misbehaviour under valgrind).
* BUG: List.Take() never raises "Out of bounds" anymore if the list is empty
because that's an inappropriate error for a *circular* list. It raises an
error if an attempt is made to Take() an invalid Current which includes
the case that the List is empty.
git-svn-id: svn://localhost/gambas/trunk@5731 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the frame position when dragging a control from the toolbar on
a container.
* NEW: The project file properties dialog is now based on the new
FileProperties control.
[INTERPRETER]
* NEW: GB.OnErrorBegin() and GB.OnErrorEnd() are two new APIs that allow to
register cleanup routines that are called when an error is raised between
the GB.OnErrorBegin() call and the GB.OnErrorEnd() call.
[INFORMER]
* BUG: The value of Float constants is now correctly dumped in *.info
files.
[GB.COMPLEX]
* NEW: Implement the same Complex.ToString() method as in gb.gsl.
[GB.DESKTOP]
* NEW: Desktop.DataDir is a new property that returns the directory where
the application must store its user-specific data.
* NEW: Desktop.ConfigDir is a new property that returns the directory where
the application must store its user-specific configuration.
* NEW: Desktop.CacheDir is a new property that returns the directory where
the application must store its user-specific cached data.
* NEW: Desktop.RuntimeDir is a new property that returns the directory
where the application must store its temporary runtime files.
* BUG: Fix a possible crash when searching a mimetype from the file
extension.
[GB.FORM]
* NEW: FileProperties is a new control that displays the properties of a
specific file or directory. It automatically computes the size of
directory contents through a background task.
* BUG: Setting the TabPanel.Border property now correctly refreshes its
layout.
* NEW: The stock icon map now can declare specific icons for specific
widget themes.
[GB.FORM.STOCK]
* NEW: Fix the 'tools' icon for elementary icon theme.
[GB.GSL]
* BUG: Fix the Vector.ToString() declaration.
[GB.QT4.EXT]
* NEW: The Editor.LineOffset property has been renamed as
Editor.LineNumberOffset.
git-svn-id: svn://localhost/gambas/trunk@5725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The Fractal example now uses eight background tasks to draw the
fractal.
[GB.IMAGE]
* NEW: Image.Pixels is a new property that allows to return the image
pixels as an integer array, and to set the image pixels from an integer
array.
git-svn-id: svn://localhost/gambas/trunk@5687 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly handle functions with a variable number of arguments when
an array conversion occurs during argument parsing.
* BUG: The debugger now correctly displays and modifies arguments of
functions having a variable number of arguments.
[GB.DEBUG]
* BUG: The debugger now correctly displays and modifies arguments of
functions having a variable number of arguments.
git-svn-id: svn://localhost/gambas/trunk@5686 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove geometry classes and put them in the gb.geom component.
[GB.GEOM]
* NEW: New hidden component that implements all geometry classes: Point,
PointF, Rect and RectF.
git-svn-id: svn://localhost/gambas/trunk@5641 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixes of bugs detected by Coverity Scan.
* BUG: Process output is correctly flushed at process exit now.
[COMPILER]
* BUG: Fixes of bugs detected by Coverity Scan.
[ARCHIVER]
* BUG: Fixes of bugs detected by Coverity Scan.
[INFORMER]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.COMPRESS]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.DEBUG]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.EVAL]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.IMAGE.EFFECT]
* BUG: Fixes of bugs detected by Coverity Scan.
[GB.VB]
* BUG: Fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Some fixes of bugs detected by Coverity Scan.
* NEW: Raise a 'Filename too long' error now when a too long file path is
detected inside a file management function.
* NEW: System.TimeZone is a new property that returns the current timezone
as an offset in seconds that must be added to a local time to get UTC.
[COMPILER]
* BUG: Some fixes of bugs detected by Coverity Scan.
[GB.IMAGE]
* BUG: Some fixes of bugs detected by Coverity Scan.
git-svn-id: svn://localhost/gambas/trunk@5490 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly initalize the help browser layout.
* NEW: Use the new Image.Fuzzy() method to draw a drop shadow in the
welcome screen text.
[COMPILER]
* NEW: The GB_PCODE_VERSION environment variable can take 'X.YY' as version
instead of 'X.YY.ZZZZ', which is actually useless.
[GB.COMPRESS]
* BUG: Remove useless code never compiled.
[GB.DBUS]
* BUG: Fix a possible memory leak in a debugging routine.
[GB.GSL]
* BUG: Remove useless code never compiled.
[GB.GTK]
* NEW: Implement a cairo surface cache in the Image class, so that drawing
the same image several times trigger a GdkPixbuf -> Cairo surface
conversion once.
* BUG: Slider and Scrollbar controls now raise the Change event only if the
value has really changed.
[GB.NET]
* BUG: Remove useless code never compiled.
[GB.NET.CURL]
* BUG: Remove useless code never compiled.
[GB.NET.SMTP]
* BUG: Remove useless code never compiled.
[GB.V4L]
* BUG: Remove useless code never compiled.
git-svn-id: svn://localhost/gambas/trunk@5489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove old GDK / X11 drawing code.
[GB.IMAGE]
* NEW: Image.Fuzzy() is a new blur method based on the 'StackBlur'
algorithm made by Mario Klingemann.
git-svn-id: svn://localhost/gambas/trunk@5487 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix history page.
[GB.GUI.BASE]
* OPT: ScrollArea scrollbars should not flicker anymore during a resizing
operation.
* BUG: Fix HSPlit and VSplit behaviour when the visibility of a child
changes.
* NEW: HSplit.Layout and VSplit.Layout now return the width of an hidden
child as zero.
[GB.QT4]
* OPT: Optimize clipping when the clipping area is a rectangle.
git-svn-id: svn://localhost/gambas/trunk@5480 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Do 'svn cleanup' in the parent directory of the project.
[COMPILER]
* BUG: Do not emit inaccurate line number information for forms and global
variables with no initialization.
[INTERPRETER]
* BUG: When creating the process temporary directory, check the permissions
of both the top directory (gambas.<userid>) and the process directory
inside.
git-svn-id: svn://localhost/gambas/trunk@5461 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly check that there is a current paint device in all Paint
methods and properties.
git-svn-id: svn://localhost/gambas/trunk@5440 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix how documentation pages of code and libraries written in Gambas
are generated.
* NEW: Some little fixes in Gambas terminal fonts.
[GB.COMPRESS.ZLIB]
* BUG: Fix the driver that was not working anymore.
[GB.COMPRESS.BZLIB2]
* BUG: Fix the driver that was not working anymore.
git-svn-id: svn://localhost/gambas/trunk@5435 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New API to return the image format as a string.
[GB.IMAGE.EFFECT]
* BUG: Fix the histogram inversion, and inversion in other effects with
GTK+ images.
git-svn-id: svn://localhost/gambas/trunk@5417 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Use a big font for displaying cursor position in editors.
[GB.DRAW]
* NEW: Paint.Arc() and Paint.Ellipse() take a new optional boolean argument
that tells if a pie must be drawn instead of a chord.
[GB.FORM]
* NEW: LCDLabel now has an HighlightColor property that allows to define
the color of the glow. By default, no glow is drawn.
[GB.GTK]
* BUG: Fix control background drawing routine.
* NEW: Implement the new "Pie" argument of Paint.Arc() and Paint.Ellipse().
[GB.GUI.BASE]
* BUG: Draw.Ellipse() and Draw.Circle() now draw a pie instead of a chord.
[GB.QT4]
* NEW: Implement the new "Pie" argument of Paint.Arc() and Paint.Ellipse().
git-svn-id: svn://localhost/gambas/trunk@5413 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: The project tree control now uses the same icons as the main project
tree view.
* NEW: Support for LCDLabel.
[EXAMPLES]
* BUG: MediaPlayer: Remove uses of the DrawingArea.Painted property.
[INTERPRETER]
* BUG: The GB.GetProperty() API has been fixed, and now use the datatype of
the property for the return value.
* OPT: Remove some useless table symbol class at class loading for native
classes that do not raise events.
[GB.DRAW]
* NEW: PaintMatrix is now creatable.
[GB.FORM]
* NEW: LCDLabel is a new control that displays its contents with sixteen
segments LCD digits.
[GB.MEDIA]
* BUG: Remove the useless MediaPlayer.Visualisation property.
git-svn-id: svn://localhost/gambas/trunk@5412 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Finish the List class
* NEW: Add List.Clear(). How could I go without since now?
* OPT: FYI, Current and enumerators remain relative to the _beginning_ of
the list if they're removed in order to can access all elements in an
enumeration.
* NEW: Return NULL for an invalid List.Current instead of raising an error.
However, the attempt to remove an invalid Current still results in that
error.
git-svn-id: svn://localhost/gambas/trunk@5403 867c0c6c-44f3-4631-809d-bfa615b0a4ec