Commit Graph

35 Commits

Author SHA1 Message Date
Paul Licameli 406b23cae7 More uses of AUDACITY_DLL_API...
... in many places where the function call will later need to be between
modules (or libraries, or the executable) and the annotation will be a necessity
to keep the linkage working on Windows.

That's all that this sweeping commit does.
2021-05-10 10:46:55 -04:00
Paul Licameli c5ebc396eb Audacity.h has shrunk to nothing, now remove it! 2021-05-10 00:05:23 -05:00
Paul Licameli 0eafcd112b Theme does not depend on GUIPrefs...
...breaks cycle of 6, still Theme in a cycle with ImageManipulation
2020-05-28 05:50:25 -04:00
Paul Licameli fa4d35296e AllThemeResources.h has a .cpp & doesnt include Theme.h...
... (it used to, via MacroMagic)

This splits a cycle of 8 into 6 + 1 + 1
2020-05-28 05:50:24 -04:00
Paul Licameli 4ff0a9d74e Can build for windows without precompiled headers...
... Requires some more wx header inclusions, a renaming of CopyFile (to avoid
colliding with a certain macro changing it to CopyFileW), and an explicit
deletion of a copy constructor and assignment (to avoid generation of
std::vector members for an incomplete type)
2020-05-27 17:36:25 -04:00
Yuri Chornoivan d1ada5f08c Fix minor typos 2020-04-11 10:06:24 +01:00
Paul Licameli 4bdcf3152f Theme.cpp has fewer dependencies...
It remains in a cycle with ImageManipulation, but the two are free from
other cycles
2019-05-18 20:29:25 -04:00
Paul Licameli c982cf6a41 Remove wx/intl.h, wx/brush.h, wx/bitmap.h from headers 2019-03-30 11:45:20 -04:00
Paul Licameli 870c08ac06 Remove wx/{log.h, image.h, listctrl.h, utils.h} from headers 2019-03-30 11:21:51 -04:00
Paul Licameli ec2f26e48c Remove wx/pen.h, wx/thread.h from headers 2019-03-30 10:17:18 -04:00
Paul Licameli 70e88782fe Remove wx/{grid,font,ffile,colour,button,bmpbuttn}.h from headers 2019-03-28 12:27:10 -04:00
Paul Licameli 40b4361732 Remove wx/arrstr.h from headers 2019-03-26 12:41:44 -04:00
Paul Licameli 51f0362e9f Remove wx/wx.h from headers 2019-03-26 11:17:41 -04:00
James Crook c34dd3172b Reduce flicker of Selection Toolbar Text
Previously there could be long delays between erasing text and painting it.
Now we erase in the paint event.
2018-04-14 21:38:53 +01:00
Paul Licameli 8be1e8fdad Remove wxArray(Int|Long|Double) except where wxWidgets fns need it 2018-02-21 19:33:31 -05:00
Paul Licameli 080dd34e61 Get rid of wx object arrays, use std::vector 2018-02-21 19:33:27 -05:00
Paul Licameli 9612e3d971 indentation, final newlines, spelling, remove unused members 2017-11-05 21:01:38 -05:00
David Bailes c4c1393987 Fix for 1720: static text items in selection bar in tab order
Problem was introduced in commit dc05b94.

Simple fix: auStaticText no longer accepts focus.
2017-08-16 13:39:16 +01:00
James Crook dc05b94fd1 Bug 1701 - Mac: Text descriptors in Selection Toolbar become invisible after Open command
Problem was that on mac enable/disable clears the colour back to black.
The easiest workaround was to create a new class auStaticText that does all that we
need for wxStaticText.
2017-08-13 23:04:13 +01:00
James Crook 11f9a8bb00 "Hi Contrast" -> "High Contrast" 2017-07-02 09:39:44 +01:00
James Crook 978f09ba13 Lose unused images from theme. 2017-05-13 18:38:16 +01:00
James Crook c0f835b67b Add border around theme Images. Do fixups.
Adding an orange border around the images in a theme makes it much easier to cut and paste in the correct position.  I've also expanded the internal images and fixed up a few image details - the pins/bobbins on darker themes, and the light blue rather than dark blue for negative times.
2017-05-04 21:41:18 +01:00
James Crook e7f95e2be0 A small step towards HiDPI
The image cache that users work with should now have 'pixels' that are 4x4.   This will in time allow us to have large or small versions of all buttons, and also means we have hi resolution images for HiDPI screens.  The actual cost of the extra size should be small, as compression will see lots of repetition.

The main point of doing this now is so that new contributed themes can be HiDPI from the start.
2017-05-04 16:56:32 +01:00
James Crook 9d501f69d6 Add preference for Record being to new track. 2017-05-01 12:04:27 +01:00
James Crook 6102c774ee Bug 1630 - Accessibility of the length/end radio buttons
For Light and Classic themes that use black text, we'll use the length/end buttons because Windows uses black for text.
For Dark and HiContrast themes that use a light colour for text, we'll use the length/end buttons IF the OS is set to use the exact same colour for text.
That for example happens if we use Microsoft's HiContrast2 and our HiContrast theme.

If the OS and theme text colour differ, then if we set blend theme colours option, which is the default, we might still use the OS colour for text in Audacity.  That will happen if the OS colour has decent contrast to our theme's background colour.   Decent is defined as more than 250 difference in RGB values.  If we use the OS colour for text, then we get the proper length/end buttons.

Note that this adds a new feature to the theme blending, in that the text colour will often adapt.  Useful when using custom text colours with HiContrast2.  When the text colour adapts, we will continue to get proper length/end buttons.

Advice to users is to match OS and Audacity themes, and use the blend option.  When themes don't match, it may be desirable to disable blending.
2017-04-28 15:49:02 +01:00
James Crook e08ceaf099 Add background to numbers on meter, IF meter bar and number colour is too similar.
This happens in Hi-Contrast theme.
2017-04-26 16:28:41 +01:00
James Crook 6bcbe417e9 Make SelectionBar end/length radio buttons behave normally
They had lost the focus/voice-over functionality because I added code to draw them in the
theme colour.  Now I disable that code, IF recolouring is both set and active.  This will happen
for example, if Hi-Contrast is used with the Hi-Contrast system theme.
2017-04-26 15:58:50 +01:00
James Crook a868d0c118 Add Hi-Contrast Theme 2017-04-10 12:09:38 +01:00
James Crook f508439a42 Recolour Classic theme to wxSYS_COLOUR_3DFACE
This is mainly for Linux which can have a much darker main bar in Classic theme.
2017-04-08 14:49:10 +01:00
James Crook 028ed19d90 Sync with DarkAudacity 2017-04-02 23:07:13 +01:00
James Crook 545d741eb2 Make Audacity source more like DarkAudacity source. 2016-09-11 13:03:37 +01:00
Paul Licameli 990080ae7d Replace virtual with override wherever possible; eliminate needless virtual...
... for functions in final classes.

override is like const -- it's not necessary, but it helps the compiler to
catch mistakes.

There may be some overriding functions not explicitly declared virtual and I did
not identify such cases, in which I might also add override.
2016-02-26 12:35:38 -05:00
Paul Licameli 7824e94030 Harmlessly qualify classes as final (or explicitly comment not)...
... Should have no effect on generated code, except perhaps some slight faster
virtual function calls.  Mostly useful as documentation of design intent.

Tried to mark every one of our classes that inherits from another, or is a
base for others, or has abstract virtual functions, and a few others besides.
2016-02-24 20:58:30 -05:00
benjamin.drung@gmail.com 277932dccb Remove trailing spaces. 2014-06-03 20:30:19 +00:00
ra e74978ba77 Locate and position the current Audacity source code, and clear a variety of old junk out of the way into junk-branches 2010-01-23 19:44:49 +00:00