Acknowledged

Provide polyfill where needed in Toybox.Graphics.Dc API

Basically, there should be no "[view]" sections below any of Dc methods in the docs.

The context is as follows:

I really don't understand the thought process behind adding a DC method that is supported on just some devices.

What does Garmin expect to happen when someone arrives at a need to use, say, setFill(bitmap) and it's not supported on some (seemingly random) models?

It's not like my need to tile an area with a bitmap will suddenly go away because setFill is not available on VA5. Nor will I want to dumb down the design for some models. Some people might consider that OK, but imnsho that's an amateurish hackery.

The only thing that will happen, realistically, is that I will be re-implementing setFill() for devices that don't have it, i.e. I will be making a homebrew polyfill.

To put differently, these new and shiny API methods are effectively useless, unless someone just happens to be targeting specific models supported by them.

It's never the " Let's look what supports setFill and that will be our target model list ! "

It's always the " We want to do X, let's see if the API supports it for the devices we target ".

Parents
  • > Based on that rationale, all CIQ 5 devices should have a GPU, but obviously that isn't the case at all.

    I'm still not sure what the case is.

    Brandon mentioned above that per-device API availability is a subject to "enhanced graphics support", but the device list for drawOffsetBitmap is shorter than that of drawBitmap2 even though the former is a subset of the latter. This is odd.

    Furthermore, drawBitmap2 is available on VA5, but setFill is not. So I'm not sure if it means that "enhanced graphics support" has multiple levels or if there is a polyfill for drawBItmap2 on VA5 or if setFill is withheld from VA5 even though it can support it. It's all clear as mud.

Comment
  • > Based on that rationale, all CIQ 5 devices should have a GPU, but obviously that isn't the case at all.

    I'm still not sure what the case is.

    Brandon mentioned above that per-device API availability is a subject to "enhanced graphics support", but the device list for drawOffsetBitmap is shorter than that of drawBitmap2 even though the former is a subset of the latter. This is odd.

    Furthermore, drawBitmap2 is available on VA5, but setFill is not. So I'm not sure if it means that "enhanced graphics support" has multiple levels or if there is a polyfill for drawBItmap2 on VA5 or if setFill is withheld from VA5 even though it can support it. It's all clear as mud.

Children
No Data