<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to feature-requests</title><link>https://sourceforge.net/p/woopsi/feature-requests/</link><description>Recent changes to feature-requests</description><atom:link href="https://sourceforge.net/p/woopsi/feature-requests/feed.rss" rel="self"/><language>en</language><lastBuildDate>Sun, 26 Oct 2008 16:25:28 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/woopsi/feature-requests/feed.rss" rel="self" type="application/rss+xml"/><item><title>Calendar Needs Resize Method</title><link>https://sourceforge.net/p/woopsi/feature-requests/59/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;No resize() method for calendar gadget yet.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ant</dc:creator><pubDate>Sun, 26 Oct 2008 16:25:28 -0000</pubDate><guid>https://sourceforge.net2938f0e98e5ec93b97bcac8f91315a1f473c12e0</guid></item><item><title>Remove GADGET_CLOSABLE</title><link>https://sourceforge.net/p/woopsi/feature-requests/58/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;The GADGET_CLOSABLE flag only applies to one gadget, so having it as a flag in the base gadget doesn't really make much sense.  It would be better if the window included its own enum of custom flags in addition to the basic flags offered by the gadget.  This should be sent to the window as a separate parameter.&lt;/p&gt;
&lt;p&gt;Flags should be:&lt;/p&gt;
&lt;p&gt;- AMIGAWINDOW_SHOW_CLOSE (shows close button if set)&lt;br /&gt;
- AMIGAWINDOW_SHOW_DEPTH (shows depth button if set)&lt;/p&gt;
&lt;p&gt;Similar idea for the screen class:&lt;/p&gt;
&lt;p&gt;- AMIGASCREEN_SHOW_FLIP (shows flip button if set)&lt;br /&gt;
- AMIGASCREEN_SHOW_DEPTH (shows depth button if set)&lt;/p&gt;
&lt;p&gt;It should also be possible to set these options via usual getters/setters, which should resize any relevant border gadgets as appropriate.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ant</dc:creator><pubDate>Wed, 30 Apr 2008 13:46:01 -0000</pubDate><guid>https://sourceforge.net15ef3f61cd5378f8beeb2f4fd590ec63f851a1cc</guid></item><item><title>Gadget::remove()</title><link>https://sourceforge.net/p/woopsi/feature-requests/57/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Create a new Gadget::remove() method that will remove a gadget from the Woopsi hierarchy and hand responsibility for it back to the developer.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Ant</dc:creator><pubDate>Thu, 03 Apr 2008 23:33:24 -0000</pubDate><guid>https://sourceforge.nete7c31b6c1473984cc9af0f855b8132f4bb79629a</guid></item><item><title>Woopsi could expose vbl counter</title><link>https://sourceforge.net/p/woopsi/feature-requests/56/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;To implement "double-tap" detection in my List gadget, I had to add a vbl() member to it, to increment a counter so I could distinguish the time between taps.&lt;/p&gt;
&lt;p&gt;This seems a bit expensive, since all I did was &lt;/p&gt;
&lt;p&gt;bool List::vbl()&lt;br /&gt;
{&lt;br /&gt;
_vbl++;&lt;br /&gt;
return(false);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;It cost me a member variable (_vbl) and really only adds to the overhead in the system.  If Woopsi had a member variable, it could do this 'incrementing' in its vbl() and all the trivial classes could just leech of it.  ie,&lt;/p&gt;
&lt;p&gt;class Woopsi {&lt;br /&gt;
...&lt;br /&gt;
protected:&lt;br /&gt;
int _vbl;&lt;br /&gt;
bool vbl() { _vbl++; return true; }&lt;br /&gt;
inline int getVblCount() { return _vbl; }&lt;/p&gt;
&lt;p&gt;My List can then just access woopsiApplication-&amp;gt;getVblCount() whenever it wants the current value - you should never write to it, and its my problem to deal with wraparound.&lt;/p&gt;
&lt;p&gt;Ordinarily, I would say do it yourself, but VBL's are something that you want to keep as short as possible.  I understand that the simplest approach was to have all gadgets have one, but I think thats a little extravagant for such a limited resource.  It would be better if the constructors for such objects add themselves to a global list, and their destructors remove them.  (ie, add a vector to the global Woopsi object of gadgetsThatWantVBL[] that you have to explicitly ask to be put in)&lt;/p&gt;
&lt;p&gt;Its also worth asking "why is it a bool function" ? there is no circumstance where me returning false would imply that my brothers should not also get a turn.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sun, 09 Dec 2007 06:53:49 -0000</pubDate><guid>https://sourceforge.net9b8ac99d9eb1f5f9139133eeaf75be206f699f34</guid></item><item><title>Gadget::removeGadget() is protected</title><link>https://sourceforge.net/p/woopsi/feature-requests/55/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I got half-way through writing some code that dynamically creates a new screen (with some stuff on it) only to discover that whilst I can add the gadget to the Woopsi quite easily, I can't *remove* it.&lt;/p&gt;
&lt;p&gt;removeGadget() seems like it should be as public as addGadget()&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Anonymous</dc:creator><pubDate>Sat, 08 Dec 2007 00:31:27 -0000</pubDate><guid>https://sourceforge.net1ff9104b42fb22c51ac59f907db4c4f5af2d9591</guid></item><item><title>Naming convention of boolean accessors</title><link>https://sourceforge.net/p/woopsi/feature-requests/54/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It was confusing looking through Gadget:: and seeing getDecoration() - I thought it actually returned a decoration, which didn't make sense in the context.&lt;/p&gt;
&lt;p&gt;I think it might be a good idea for the accessors that return bool to call those methods isXXX instead of getXXX.&lt;/p&gt;
&lt;p&gt;ie, getDecoration() becomes isDecoration(), etc.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeff Laing</dc:creator><pubDate>Tue, 04 Dec 2007 02:07:14 -0000</pubDate><guid>https://sourceforge.netdc99eebe8cc56319a988de2ea4e722c843cfb9a3</guid></item><item><title>Screen Flip button needs more thought</title><link>https://sourceforge.net/p/woopsi/feature-requests/53/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;I'm pushing my app forward a little and the default behaviour of the screen flip button is problematic.&lt;/p&gt;
&lt;p&gt;If I want a screen depth button, I have to have the screen flip button as well, but thats not really desirable behavour.  The top-screen, which is click-free, shouldn't display the screen title gadgets (since you can't activate them).  But if you don't display them, then when you flip that screen down, you can't flip it back up.&lt;/p&gt;
&lt;p&gt;The ability to turn on/off the flip and depth buttons seperately seems highly desirable&lt;br /&gt;
The ability to change the behaviour of the buttons is highly desirable&lt;/p&gt;
&lt;p&gt;At the moment, the screen flip button insists on calling Screen::flipScreens() and there is no way to subclass the button to do something different because its created directly by Screen. The workaround is to subclass Screen and change the flipScreens() method - in fact, that may be the only way to go forward anyway&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeff Laing</dc:creator><pubDate>Mon, 03 Dec 2007 10:24:25 -0000</pubDate><guid>https://sourceforge.net753d5e65bd31f65682d303b05c6cacec8c6f964d</guid></item><item><title>Do you really need two fonts by default?</title><link>https://sourceforge.net/p/woopsi/feature-requests/52/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It seems like Woopsi is somewhat extravagant, requiring two essentially identical font bitmaps.&lt;/p&gt;
&lt;p&gt;It might be more efficient to use a single font, which would be possible if the 'glyph' characters were moved from A,B,C,etc down to 0x01, 0x02, etc&lt;/p&gt;
&lt;p&gt;It seems relatively unlikely that the 32 available spaces (0-31) will be insufficient for the foreseeable future.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeff Laing</dc:creator><pubDate>Mon, 03 Dec 2007 09:47:34 -0000</pubDate><guid>https://sourceforge.net99a14e8527660f48faf42a972a270bbaf5686921</guid></item><item><title>Explicit support for backgrounds might be nice</title><link>https://sourceforge.net/p/woopsi/feature-requests/51/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;At the moment, a window/screen gets a dull gray background - if you want something more exciting, you need to burn a Gadget to do it.&lt;/p&gt;
&lt;p&gt;I think it might be useful to have a strongly supported "background gadget" which should be supported by both Window and Screen.  This gadget would be automatically click-dead, etc and would auto-size itself to fit the available "background space" of the enclosing window/screen.&lt;/p&gt;
&lt;p&gt;You could also have a single Gadget which was just a ColouredBackground which took one colour and filled its rectangle with it.&lt;/p&gt;
&lt;p&gt;You could also have a new Gadget called a 'Gradient' which took two colors and just extrapolated from one to the other down the screen.  No need for any backing storage, just draw horizontal lines, adjusting the colors as you go.&lt;/p&gt;
&lt;p&gt;(Obviously, you could do these with existing Gadgets - but its nicer if the framework does it for you :)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeff Laing</dc:creator><pubDate>Thu, 22 Nov 2007 09:51:03 -0000</pubDate><guid>https://sourceforge.net235d2725b807714c8d251a0bced1dc0b79966704</guid></item><item><title>Top-screen coordinate confusion</title><link>https://sourceforge.net/p/woopsi/feature-requests/50/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;It seems to me that the TOP_SCREEN_Y_OFFSET constant is not an optimal value.&lt;/p&gt;
&lt;p&gt;It is currently set to 384 which is 2*192, double the height of a DS screen, but since you can't draw off-screen anyway, it seems like using 192 would have been fine.  There may be a subtlety I'm missing.&lt;/p&gt;
&lt;p&gt;Nevertheless, if you used 512 instead of 384, then a number of other 'commonly called' routines could be a bit faster.&lt;/p&gt;
&lt;p&gt;u8 Gadget::calculatePhysicalScreenNumber(s16 y) {&lt;br /&gt;
if (y &amp;amp; 512) return 1;&lt;br /&gt;
return 0;&lt;br /&gt;
}&lt;br /&gt;
s16 Gadget::calculatePhysicalScreenY(s16 y) {&lt;br /&gt;
if (y &amp;amp; 512) {&lt;br /&gt;
return y - 512;&lt;br /&gt;
}&lt;br /&gt;
return y;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;or even better&lt;/p&gt;
&lt;p&gt;u8 Gadget::calculatePhysicalScreenNumber(s16 y) {&lt;br /&gt;
return (y&amp;gt;&amp;gt;9) &amp;amp; 1;&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;u8 Gadget::calculatePhysicalScreenY(s16 y) {&lt;br /&gt;
return (y &amp;amp; 0x1FF);&lt;br /&gt;
}&lt;/p&gt;
&lt;p&gt;These don't work for negative y but I don't think Woopsi allows negative coordinates here (at this level - these are hardware coords being discussed)&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jeff Laing</dc:creator><pubDate>Mon, 12 Nov 2007 23:04:30 -0000</pubDate><guid>https://sourceforge.net6d068214428695175b069a7eec8be5fccbbd5654</guid></item></channel></rss>