sumotoy / RA8875

A library for RAiO RA8875 display driver for Teensy3.x or LC/Arduino's/Energia/Spark
GNU General Public License v3.0
80 stars 55 forks source link

help wanted: fillRectangle() with gradient and strange pattern behavior? #92

Open Qdeathstar opened 8 years ago

Qdeathstar commented 8 years ago

My first question is if there is a function to fill rectangles with gradiant?

The second question is that, after setting a pattern, in order to draw on the screen you have to re-set the active window to the whole screen, otherwise it will only be the size of the last pattern... is that how it is supposed to work?

sumotoy commented 8 years ago

fillRectangle it's an hardware accellerated function, it's possible to build another function that uses grandient but will be much slower, I will see what I can do in next version. About pattern, this is a good question, you are right, the function need to use the active window so in theory I can reset the active window after the function, but if you are using the draw pattern repetively this will impact performances a lot, I will look into this since pattern stuff was developed from datasheet and never really tested deeply.

Qdeathstar commented 8 years ago

Your function would be something like drawing a series of lines instead of a rectangle, correct?

As gas as the fill pattern, I thought the ra8875 data sheet said you could only use four patterns at a time?

morpheous87 commented 8 years ago

Is there a fast way to draw a button or icon with gradient? Something like RoundRectangle() with gradient? Something like this images

Or it will be better to use the new icon functionality, which will be introduced soon?

sumotoy commented 8 years ago

As I said, rectangles are hardware based, this is why they are fast rendered. It's possible create another function that uses lines but it will be much (a lot!) slower, the hardware parameters doesn't allow grandients. Actually this is a low priority because it greatly impact MCU resources and the purpose of the RA8875 it's avoid as much as possible CPU calculations, this is why it's the only chip that let an UNO user to use large displays I'm actually work to fix some other hardware bug before icons, there's a lot of code in RA8875 that goes around hardware bugs! RAiO will probably release a new chip in the near future that have same RA8875 functionalities but faster and rumors of grandients, more internal memory and antialiasing(!) seems confirmed..

Jim-McDonald commented 8 years ago

RAiO will probably release a new chip in the near future that have same RA8875 functionalities but faster and rumors of grandients, more internal memory and antialiasing(!) seems confirmed..

I don't see that on the RAiO site. Any link to this upcoming controller please? :)

sumotoy commented 8 years ago

Just rumors, talking between technicians. Btw it's long time RAiO don't have new products so I suppose this will happen soon.

sumotoy commented 8 years ago

Qdeathstar, even pattern on RA8875 are in a way limited, first it's memory, they use part of the internal ram used for everithing, second problem is they use the part of the internal engine that deal with layers and layers don't work at 100% if your screen it's more than 272x480 because in the real world more ram it's needed. At RAiO they do miracles to fit everithing inside such a small ram but at the end shit happens so there's several problems when using large screen. In the end, yes, pattern have limited memory slots but don't use together layers or shit happens!