interface Efl.Gfx.Image ├ (P) smooth_scale ├ (P) scale_method ├ (P) can_upscale ├ (P) can_downscale ├ (P) ratio ├ (P) content_region ├ (P) border_insets ├ (P) border_insets_scale ├ (P) center_fill_mode ├ (P) stretch_region ├ (P) image_size ├ (P) content_hint ├ (P) scale_hint ├ (P) image_load_error ├ (E) image,preload_state,changed ├ (E) image,resized
Description
Details
- Commits
- D10126 / rEFL593b7426ae23: api: mark Efl.Ui.Image_Zoomable stable
D10124 / rEFL8e17112c76fc: api: mark efl.gfx.image and related types stable
D9997 / rEFLfa03eb44f73d: efl/image: merge preload and unload events into preload_state,changed
D9996 / rEFL28f589d79505: efl/image: rename "border" -> "border_insets"
D9932 / rEFL944d5f37c7ad: efl/image: Efl.Gfx.Image_Scale_Type -> Efl.Gfx.Image_Scale_Method
D9933 / rEFL5daac17e990d: efl/image: Efl.Gfx.Border_Fill_Mode -> Efl.Gfx.Center_Fill_Mode
D9930 / rEFL777a2a89e1d4: efl/image: image,resize -> image,resized
D9931 / rEFLe18d07b2979e: efl/image: add size event info for image,resized event
D9703 / rEFLd50fdce4d3fc: efl/gfx.image: add can_upscale and can_downscale properties
Status | Assigned | Task | ||
---|---|---|---|---|
Resolved | None | T7873 efl.ui.image | ||
Resolved | None | T7880 efl.ui.bg | ||
Resolved | None | T7875 Efl.Gfx.Image | ||
Resolved | None | T7926 enum Efl.Gfx.Border_Fill_Mode | ||
Resolved | None | T7927 enum Efl.Gfx.Image_Scale_Type | ||
Resolved | None | T7928 enum Efl.Gfx.Image_Scale_Hint | ||
Resolved | None | T7929 enum Efl.Gfx.Image_Content_Hint |
We probably need this since it's used with image.
The event names need to be tensed, ratio probably needs a rename to aspect_ratio?
More change proposals:
border --> border_size
border_center_fill --> center_fill_mode
Small question
(p) image_size, does it mean original image size, or image size after applying ScaleType ?
I am asking this, because sometimes user need to calculate scale-factor for image. (origin vs current)
Maybe border_insets or something? This is a pretty bizarre property...really wish it could just be specifying the solid region's geometry instead.
border_center_fill --> center_fill_mode
Approved.
Now that I think about it, the other events are wrong too. They should be at minimum preloaded and unloaded. I'm wondering whether preloaded makes sense though. Why isn't this just loaded?
Taking it even further, if we have load and unload, why not just have load_state,changed or similar and just pass a bool?
border_insets sounds about right, since that's what this property is.
All events should be in the past tense, sure. I would need to know what the preload event represents, though.
Why do we have preload and unload, instead of just load and unload? In that case, the load_state, changed would make a lot of sense.
preload is supposed to mean that the image data has been loaded and can be displayed. In a sense, this is an image domain specific term (i.e., "image preloading" is a thing), but for the purposes of this API, preload and unload are opposing states. I suppose maybe preload_state,changed would be the most accurate, or perhaps even preload,changed?
Thinking more about it, we use the ,changed suffix for events when there's an associated property. I think it would be weird to use it in this case.
When's the unload event emitted, anyway? do we have an unload method?
unload is called internally when the image's data is unloaded (e.g., if it's being reloaded) and can no longer be displayed.
We use changed when a state has changed. This seems like a state?
Yeah, but it's an internal state, not accessible through any property. Anyway, no point in discussing it any further since I have no strong opinion on this, either way works for me.
I prefer preload_state,changed over preload,changed, though.
My thinking is primarily that anyone who is interested in a preload event is also likely to be interested in an unload event, which means they need 2 event subscriptions. More event subscriptions = bad.