Next I added the functionality to the three new buttons on the Meta panel, which allow the user to Copy the Meta data for the current tile, Paste the Meta data in the buffer to the current tile, or Paste All (which applies the Meta data in the buffer to all tiles).
The final task for the Meta panel was to add the file I/O routines, so that Meta data can be saved for later use. As with Maps, the user will be able to save and load Meta files individually, for maximum flexibility.
As an afterthought, I also added a toggle on the Meta checkboxes; currently, the tiny display area gets a little cluttered - the toggle removes the checkbox numbers, which will hopefully make things clearer for experienced users.
* * *
Work continued tonight with the Brushes panel next on the agenda. Back in the day, I wanted to include a small thumbnail view for the current brush; the Tab was added, but as things progressed and the Brush functionality expanded, I honestly expected this to fall by the wayside.
However, after a conversation with Muttley (again!), I discovered the ResizeImage command which should help me to accomplish my goal, so tonight I set about putting the framework together. I started off by adding the tabber functionality, new canvas, and gadget panel.
Next I set about taking a stored brush, converting the brush to a single image, then scaling the image down to fit in the Brush window. After typing frantically for 15 minutes, I fired up the code... and it worked first time!
The next task was to ensure the scaling remained proportional no matter what the brush dimensions; basically, the image is resized to be exactly 256 pixels wide - but I also needed the program to proportionally scale the image height, based on the scale ratio used for the image width.
After a bit of headscratching, I came up with a formula, but the results were somewhat limited so I decided to post on the Llamasoft forum for advice. No sooner did I click the POST button, the solution to the problem popped into my head. Duh! A couple of tweaks later, the scaling was working perfectly.
With time ticking away, I decided to leave the remaining fiddly code until tomorrow (I need to tie in the thumbnail functions with the I/O functions, for example), and instead added a trio of buttons to allow the user to select and choose a brush from the library.
