/* Copyright (C) 2008,2009 INdT - Instituto Nokia de Tecnologia Copyright (C) 2009,2010 ProFUSION embedded systems Copyright (C) 2009,2010 Samsung Electronics This file is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This file is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ group { name: "webkit/widget/slider/vertical"; min: 10 0; /* if > 0, this is the minimum size that will be allocated. * If wants to draw on top, just overflow usign edje's rel1/rel2 */ images { image: "widget/slider/slider_v.png" COMP; image: "widget/slider/slider_knob_v.png" COMP; } script { public message(Msg_Type:type, id, ...) { if ((id == 0) && (type == MSG_FLOAT_SET)) { new Float:vy, Float:sy; vy = getfarg(2); sy = getfarg(3); if (vy >= 0.0) { set_drag_size(PART:"img.knob", 1.0, sy); set_drag(PART:"img.knob", 0.0, vy); } } } public update_drag_pos() { new Float:x, Float:y; get_drag(PART:"img.knob", x, y); send_message(MSG_FLOAT, 1, y); } } parts { part { name: "rect.base"; type: RECT; description { min: 10 0; max: 10 999999; state: "default" 0.0; color: 255 255 255 0; } } part { name: "rect.clipper"; type: RECT; description { state: "default" 0.0; color: 255 255 255 255; } } part { name: "img.slider"; type: IMAGE; mouse_events: 0; clip_to: "rect.clipper"; description { state: "default" 0.0; image { normal: "widget/slider/slider_v.png"; border: 0 0 6 6; } } } part { name: "img.knob"; type: IMAGE; mouse_events: 1; clip_to: "rect.clipper"; dragable { x: 0 0 0; y: 1 1 0; confine: "rect.base"; } description { state: "default" 0.0; min: 10 10; max: 10 999999; image { normal: "widget/slider/slider_knob_v.png"; border: 0 0 6 6; } } } } programs { program { name: "dragged"; signal: "drag"; source: "img.knob"; script { update_drag_pos(); } } } } group { name: "webkit/widget/slider/horizontal"; min: 0 10; /* if > 0, this is the minimum size that will be allocated. * If wants to draw on top, just overflow usign edje's rel1/rel2 */ images { image: "widget/slider/slider_h.png" COMP; image: "widget/slider/slider_knob_h.png" COMP; } script { public message(Msg_Type:type, id, ...) { if ((id == 0) && (type == MSG_FLOAT_SET)) { new Float:vx, Float:sx; vx = getfarg(2); sx = getfarg(3); if (vx >= 0.0) { set_drag_size(PART:"img.knob", sx, 1.0); set_drag(PART:"img.knob", vx, 0.0); } } } public update_drag_pos() { new Float:x, Float:y; get_drag(PART:"img.knob", x, y); send_message(MSG_FLOAT, 1, x); } } parts { part { name: "rect.base"; type: RECT; description { state: "default" 0.0; min: 0 10; max: 999999 10; color: 255 255 255 0; } } part { name: "rect.clipper"; type: RECT; description { state: "default" 0.0; color: 255 255 255 255; } } part { name: "img.slider"; type: IMAGE; mouse_events: 0; clip_to: "rect.clipper"; description { state: "default" 0.0; image { normal: "widget/slider/slider_h.png"; border: 6 6 0 0; } } } part { name: "img.knob"; type: IMAGE; mouse_events: 1; clip_to: "rect.clipper"; dragable { x: 1 1 0; y: 0 0 0; confine: "rect.base"; } description { state: "default" 0.0; min: 10 10; image { normal: "widget/slider/slider_knob_h.png"; border: 6 6 0 0; } } } } programs { program { name: "dragged"; signal: "drag"; source: "img.knob"; script { update_drag_pos(); } } } }