Search code examples
tizentizen-native-app

Anti-alias is not working with circular scrollbar


In Tizen5.5, I have created a (circular)genlist to have the nice circular scrollbar.

But for some wierd reason, the scrollbar is not anti-aliased :O on my real device.

Fact1: On emulator it works.

Fact2: on real device, system apps which has this scrollbar, all work fine (anit-aliased).

Fact3: it is not happening all time, only when I scroll the genlist downwards.

Here is the result (see the scrollbar):

enter image description here

Here is my code to reproduce:

/* Circle surface */
ad->circle_surface = eext_circle_surface_naviframe_add(ad->naviframe);

/* Genlist */
ad->genlist = elm_genlist_add(ad->naviframe);
elm_genlist_mode_set(ad->genlist, ELM_LIST_COMPRESS);
elm_genlist_homogeneous_set(ad->genlist, EINA_TRUE);
evas_object_size_hint_weight_set(ad->genlist, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
evas_object_size_hint_align_set(ad->genlist, EVAS_HINT_FILL, EVAS_HINT_FILL);

ad->circle_genlist = eext_circle_object_genlist_add(ad->genlist, ad->circle_surface);
eext_circle_object_genlist_scroller_policy_set(ad->circle_genlist, ELM_SCROLLER_POLICY_ON, ELM_SCROLLER_POLICY_ON);
eext_rotary_object_event_activated_set(ad->circle_genlist, EINA_TRUE);

/* Item classes */
ad->itc_padding = elm_genlist_item_class_new();
ad->itc_padding->item_style = "padding";

ad->itc_item = elm_genlist_item_class_new();
ad->itc_item->item_style = "1text";

elm_genlist_item_append(ad->genlist, ad->itc_padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);

// add content - Item Style */
ad->itc_item->func.text_get = getListItemText;

for (int i = 0; i < 3; i++) {
    elm_genlist_item_append(ad->genlist, ad->itc_item, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);
}

// add footer padding
elm_genlist_item_append(ad->genlist, ad->itc_padding, NULL, NULL, ELM_GENLIST_ITEM_NONE, NULL, NULL);

Solution

  • Solved with help of raster from IRC.

    All I had to do is to ask for HW rendering:

    elm_config_accel_preference_set("hw:depth:stencil");
    

    After adding this single line all anti-aliasing issues are solved.