Commit Graph

114 Commits

Author SHA1 Message Date
Stefan Csomor
fee9bb6407 making sure TextMatrix is always identity, there were strange artifacts sometimes, maybe due to interference with cocoa text system, adding debug method CheckInvariants
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70735 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-02-28 14:39:32 +00:00
Stefan Csomor
052318dfe8 guard against invalid color ref
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@70403 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2012-01-19 15:01:47 +00:00
Robin Dunn
6e6f074b45 Delegate wxGraphicsBitmap::ConvertToImage to the renderer so we do not end up with more than one definition of the method when building with both the GDI+ GC and the Cairo GC enabled at the same time.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69485 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-20 04:49:12 +00:00
Stefan Csomor
5548cbac13 applying slightly modified patch, fixes #13434
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69388 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-12 10:10:32 +00:00
Vadim Zeitlin
fa378d369f Allow creating wxGraphicsFont without using wxFont.
This is mostly important to allow using wxImage-based wxGraphicsContext
without requiring X server connection under Unix: as wxFont can't be used
without X server, we needed another way to create wxGraphicsFont in this case.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69360 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:29 +00:00
Vadim Zeitlin
0a470e5ea5 Allow creating wxGraphicsBitmap and wxGraphicsContext from wxImage.
Provide a way to use wxGraphicsContext to draw on wxImage.

This is implemented internally by drawing on wxGraphicsBitmap which can be now
also created from wxImage.

Add a test of the new functionality to the image sample.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69358 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:22 +00:00
Vadim Zeitlin
364197e882 Don't make private wxGraphicsContext-derived classes dynamically creatable.
This doesn't make any sense because classes such as wxGDIPlusContext,
wxGDIPlusMeasuringContext and wxMacCoreGraphicsContext are private and don't
need to be creatable by name (only renderers potentially need to be) and was
inconsistent with Unix/Cairo backend in which these classes were not dynamic.

So remove wxRTTI macros from them in wxMSW/wxOSX as well as this allows us to
get rid of unnecessary default ctors.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69355 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:13 +00:00
Vadim Zeitlin
08b2d55fdf Added wxGraphicsBitmap::ConvertToImage().
Allow to convert wxGraphicsBitmap directly to wxImage, without passing by
wxBitmap.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@69353 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-10-09 22:07:07 +00:00
Stefan Csomor
2ebfa9c04c fixing iphone build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67979 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-18 15:23:39 +00:00
Stefan Csomor
57d3e26697 adding implementation for osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67912 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 23:05:52 +00:00
Stefan Csomor
133cb28b21 adding placeholders for interpolation setting
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67909 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-09 21:38:08 +00:00
Stefan Csomor
2bc4cc1ead speeding up rectangle drawing by using specific methods, needs 40% less time
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-06-06 23:15:27 +00:00
Stefan Csomor
73be128174 making sure clip (device coordinages) is applied before any transforms, fixes #13216
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67761 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-18 07:32:58 +00:00
Dimitri Schoolwerth
a1b806b982 Replaced Ok() occurrences with IsOk() throughout trunk.
Additionally renamed wxOSX' private wxNativePrinterDC::Ok() function to IsOk().

Didn't deprecate the various Ok() functions: given the amount of changes already introduced in 3.0 a trivial one like this seems more suitable for after 3.0.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-05-03 16:29:04 +00:00
Stefan Csomor
ad967c5b98 supprting flag for pixel offsetting for osx, see #11853
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-16 13:05:17 +00:00
Dimitri Schoolwerth
d13b34d3f2 No code changes, fixed various typos.
Applied patch by snowleopard2 fixing typos in interface/. Extended the fixes throughout trunk.

Closes #13076.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67384 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-04-03 20:31:32 +00:00
Vadim Zeitlin
b129eaa377 Implement wxGraphicsContext::GetSize() for Cairo.
As the implementation of this method is basically the same for all ports move
it to the base class itself instead of requiring the derived classes to
implement it. Now the derived classes need to fill in m_width and m_height
members instead.

Do fill them when creating wxGraphicsContext in Cairo version.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67359 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-31 09:38:03 +00:00
Dimitri Schoolwerth
80fdcdb90e No changes, synchronised source names that appear commented at the top of files with the actual path to the files.
Fixed commented names (path, filename, and extension) of files in include/ and src/. Prepended the names in src/ with "src/" everywhere, while starting those in include/wx/ with "wx/".

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67254 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-20 00:14:35 +00:00
Stefan Csomor
7dbda71e4b use FixedToFloat everywhere to make sure we don't round too early, preserve fractional width with CoreText as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67135 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-03-06 15:27:44 +00:00
Stefan Csomor
10c0869605 reverting part of r58797, otherwise wxClientDC get no graphics context at all
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@67012 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-02-24 14:56:40 +00:00
Stefan Csomor
df04f800b8 supporting clang 2.0 under xcode, see #12332
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66780 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2011-01-27 11:00:26 +00:00
Vadim Zeitlin
4027f0d759 Fix initial gradient point calculation in wxOSX.
This fixes the bug introduced in r63879 which used the wrong indices into the
stops array resulting in visual artefacts in wxAUI, for example (and also
possible crashes due to accessing out of bound array elements).

Closes #12784.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@66400 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-12-19 15:02:31 +00:00
Vadim Zeitlin
ce00f59b5b No changes whatsoever, just remove trailing whitespace.
There are no real changes in this commit but it removes all trailing white
space from our source files. This avoids problems when applying patches and
making diffs and it would be nice to prevent it from reappearing.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@65680 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-09-30 11:44:45 +00:00
Stefan Csomor
362439b629 concatenation must use prepend mode on osx as well
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@64039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-18 18:38:49 +00:00
Stefan Csomor
e32454eadc making gradients working again
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63885 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 22:43:49 +00:00
Stefan Csomor
24e6777949 fixing warnings
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63883 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 18:57:35 +00:00
Vadim Zeitlin
ca1f7cb563 Implement support for gradient stops for OS X.
Currently the code still doesn't work but OTOH it's not any worse than what it
was before.

See #11904.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63879 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-06 18:46:18 +00:00
Vadim Zeitlin
4ee4c7b948 Add support for gradient stops to wxGraphicsContext.
Allow specifying a set of gradient stops instead of just the beginning and
ending colours. Add the new wxGraphicsGradientStop(s) classes and new
wxGraphicsContext::Create{Linear,Radial}GradientBrush() overloads. Also change
the same methods of wxGraphicsRenderer to take wxGraphicsGradientStops instead
of a pair of colours.

Implement the new API for MSW and Cairo. OS X still uses just the two colours
for now.

Closes #11897.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63857 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-04-05 12:15:11 +00:00
Stefan Csomor
e812e279ba translate 0.5 offset into user space before applying translation, see #11769, see #11771
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@63590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2010-02-28 17:29:47 +00:00
Stefan Csomor
9f43f2691c 64bit builds had problems with full circles, as we can use 10.4+ only APIs, use new implementation, fixes #11471
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-28 20:05:39 +00:00
Vadim Zeitlin
0738b901b1 Fix discrepancy between different ways of measuring text extents under Mac.
wxGraphicsContext::GetTextExtent() didn't round the returned double result to
int but truncated it instead and so returned different extent than
GetPartialTextExtents() which did round it up.

Moreover, wxGraphicsContext::GetPartialTextExtents() didn't round it up
correctly: it wrongly added 0.5 to the value still stored as double and which
was hence rounded up (correctly, this time) when converted to int in
wxDC::GetPartialTextExtents().

These two errors combined to produce difference of up to 2 pixels between the
last offset returned by wxDC::GetPartialTextExtents() and the total string
extent returned by wxDC::GetTextExtent() which thoroughly confused the code in
wxControlBase::DoEllipsizeSingleLine() (and probably not only there).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62580 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-11-10 00:13:57 +00:00
Stefan Csomor
502113941d switching to explicit flush mode, otherwise clientdc destruction lead to contention in customrenderers in osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62495 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-24 19:22:40 +00:00
Paul Cornett
ab451f970c Remove unused global bitmap, which caused crash on startup with wxUSE_XPM==0.
Use new pen style enums

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62234 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-03 16:39:24 +00:00
Stefan Csomor
2986eb869c adding construction from native bitmaps
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62226 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-10-02 19:45:03 +00:00
Stefan Csomor
6bd1764f27 fixing text matrix (dataview custom renderer showed problems) and reordering SaveGState
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62215 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-30 17:50:49 +00:00
Vadim Zeitlin
03647350fc No changes, just removed hard tabs and trailing white space.
This commit is huge but there are no non-white-space changes in it.

Some files containing third-party sources (src/msw/wince/time.cpp,
src/x11/pango*.cpp) were left unchanged.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61724 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-21 10:41:26 +00:00
Vadim Zeitlin
9a83f86094 Globally replace _T() with wxT().
Standardize on using a single macro across all wxWidgets sources and solve the name clash with Sun CC standard headers (see #10660).

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61508 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-23 20:30:22 +00:00
Vadim Zeitlin
9611b7975f use WXSIZEOF(x) instead of sizeof(x)/sizeof(x[0]) (closes #10701)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61296 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-07-02 22:43:31 +00:00
Stefan Csomor
b4ff8b3e4e adding iphone code
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59924 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-29 20:48:05 +00:00
Stefan Csomor
aa6208d975 conforming to new naming convention of starting all port specific methods with the port prefix
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59804 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-24 07:56:17 +00:00
Stefan Csomor
de0d209531 fixing warning in osx core and carbon
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59777 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-23 15:24:04 +00:00
Stefan Csomor
f1c40652a0 reworked font handling for osx
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-20 13:56:57 +00:00
Kevin Ollivier
c0b5b33b0d Missed one symbol used in the compatibility path.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59095 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-22 21:30:30 +00:00
Kevin Ollivier
f72e03b222 Fix for building under 10.4, where the BlendMode constants are not defined.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59094 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-22 21:22:07 +00:00
Robert Roebling
140f202726 Compilo
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58937 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-16 08:09:39 +00:00
Stefan Csomor
bf02a7f976 switching to compositing operators (fixes #9881), adding layers
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58917 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-15 16:52:05 +00:00
Stefan Csomor
c0f6cd1924 CGContextFlush is already called in SetNativeContext
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58839 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-12 07:16:32 +00:00
Stefan Csomor
f28b6f0668 supporting graphics context on invisible views, icon refs are available under 64 bit cocoa as well, turn drawing on again, fixes #10490
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58823 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-10 07:00:03 +00:00
Stefan Csomor
15fc716c57 paint event handling fixes and wxClientDC implementation for osx-cocoa
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58816 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-09 18:03:13 +00:00
Kevin Ollivier
0600cf3ae9 Do a sanity check to make sure GetWindow() has a valid window, and assert if it doesn't. On OS X Cocoa, try to continue on in release mode.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-09 02:21:30 +00:00