From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from list by lists.gnu.org with archive (Exim 4.71) id 1UQFjz-0008O0-MM for mharc-grub-devel@gnu.org; Thu, 11 Apr 2013 07:32:31 -0400 Received: from eggs.gnu.org ([208.118.235.92]:37615) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQFjt-0008NE-4T for grub-devel@gnu.org; Thu, 11 Apr 2013 07:32:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQFjr-0007wt-Nj for grub-devel@gnu.org; Thu, 11 Apr 2013 07:32:24 -0400 Received: from collab.rosalab.ru ([217.199.216.181]:52980) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQFjr-0007wS-9z for grub-devel@gnu.org; Thu, 11 Apr 2013 07:32:23 -0400 Received: from localhost (localhost.localdomain [127.0.0.1]) by collab.rosalab.ru (Postfix) with ESMTP id 2F9C5F0002 for ; Thu, 11 Apr 2013 15:32:21 +0400 (MSK) X-Virus-Scanned: amavisd-new at rosalab.ru Received: from collab.rosalab.ru ([127.0.0.1]) by localhost (collab.rosalab.ru [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id DRMcTHkmWSxH for ; Thu, 11 Apr 2013 15:32:20 +0400 (MSK) Received: from icedphoenix.localnet (unknown [10.168.1.56]) by collab.rosalab.ru (Postfix) with ESMTPSA id 93AAA29C33E for ; Thu, 11 Apr 2013 15:32:20 +0400 (MSK) From: Vladimir Testov To: grub-devel@gnu.org Subject: [PATCH] [8/11] [gfxmenu/list] scrollbar_thumb_offset Date: Thu, 11 Apr 2013 15:32:20 +0400 Message-ID: <2394091.YctMkpr2mY@icedphoenix> User-Agent: KMail/4.9.5 (Linux/3.5.0-26-generic; KDE/4.9.5; x86_64; ; ) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="nextPart2197984.QKESaPX5fb" Content-Transfer-Encoding: 7Bit X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 217.199.216.181 X-BeenThere: grub-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list Reply-To: The development of GNU GRUB List-Id: The development of GNU GRUB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 11 Apr 2013 11:32:30 -0000 This is a multi-part message in MIME format. --nextPart2197984.QKESaPX5fb Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" I've found that I miss this options if I want to do something like scrollvar thumb, rounded on the edges. (see screenshots) tmp1 - the bottom position - before tmp2 - the bottom position - after (with offsets) -- With best regards, _______________________________ Vladimir Testov, ROSA Laboratory. www.rosalab.ru --nextPart2197984.QKESaPX5fb Content-Disposition: attachment; filename="grub-2.00-list-scrollbar-thumb-offset.patch" Content-Transfer-Encoding: 7Bit Content-Type: text/x-patch; charset="UTF-8"; name="grub-2.00-list-scrollbar-thumb-offset.patch" diff -Naur grub-new8/grub-core/gfxmenu/gui_list.c grub-new9/grub-core/gfxmenu/gui_list.c --- grub-new8/grub-core/gfxmenu/gui_list.c 2013-03-26 20:50:56.171267835 +0400 +++ grub-new9/grub-core/gfxmenu/gui_list.c 2013-03-27 11:27:43.851690260 +0400 @@ -53,6 +53,8 @@ char *scrollbar_thumb_pattern; grub_gfxmenu_box_t scrollbar_frame; grub_gfxmenu_box_t scrollbar_thumb; + int thumb_top_offset; + int thumb_bottom_offset; int scrollbar_width; int scrollbar_left_pad; int scrollbar_right_pad; @@ -212,6 +214,11 @@ int tracktop = topy + frame->get_top_pad (frame); int tracklen = height - frame_vertical_pad; frame->set_content_size (frame, self->scrollbar_width, tracklen); + if (self->list_version > 0) + { + tracktop += self->thumb_top_offset; + tracklen += self->thumb_bottom_offset - self->thumb_top_offset; + } int thumby = tracktop + tracklen * (value - min) / (max - min); int thumbheight = tracklen * extent / (max - min) + 1; thumb->set_content_size (thumb, @@ -612,6 +619,14 @@ grub_free (self->scrollbar_thumb_pattern); self->scrollbar_thumb_pattern = value ? grub_strdup (value) : 0; } + else if (grub_strcmp (name, "thumb_top_offset") == 0) + { + self->thumb_top_offset = grub_strtol (value, 0, 10); + } + else if (grub_strcmp (name, "thumb_bottom_offset") == 0) + { + self->thumb_bottom_offset = grub_strtol (value, 0, 10); + } else if (grub_strcmp (name, "scrollbar_width") == 0) { self->scrollbar_width = grub_strtol (value, 0, 10); @@ -726,6 +741,8 @@ self->scrollbar_thumb = 0; self->scrollbar_frame_pattern = 0; self->scrollbar_thumb_pattern = 0; + self->thumb_top_offset = 0; + self->thumb_bottom_offset = 0; self->scrollbar_width = 16; self->scrollbar_left_pad = 2; self->scrollbar_right_pad = 0; --nextPart2197984.QKESaPX5fb Content-Disposition: attachment; filename="tmp1.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="tmp1.png" iVBORw0KGgoAAAANSUhEUgAAAAoAAACvCAYAAADE40/gAAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QQLCxwHNLOjjwAAATpJREFUWMPtmeFtxCAMhd9DTHY3 R6GT9SB7wM3SBdoNzv3RJkpMQlIpqtTW/kWcJwwfRoGYb7UKdmzIGZ4kckpdYR4GOO1MOSMPQyN2 WgQAItKInRaNpsV+bDzH2B2nzyk1vWkjCb7f7yIi+3jGxol4nDuEx8vjgXGEovDM/Zscx7Gtroy2 OQ2Hg/YbhF6+OG2ttmiOf2HWJrQ0M6Hlo+Wj4TGOJrQ0+zccSeJWK26ltMKJIYmXUj5vQ87hVgpk iyPJ+cN6aB2OJFKtrZCqB+2zJbTtahxNeKawl4uWj4bHhJaP9nU14Y7w6XJZghZZ+L7/h33eg4gg XK/Ltd4Kp6sXvhdudTIxhOblvMLSPbCvblcBEEKY2jHGxaXC6yP/VkHneCHn9exCzjTGtfAkJ2xd jnPf4s71s3g+ANHV16TFiY5+AAAAAElFTkSuQmCC --nextPart2197984.QKESaPX5fb Content-Disposition: attachment; filename="tmp2.png" Content-Transfer-Encoding: base64 Content-Type: image/png; name="tmp2.png" iVBORw0KGgoAAAANSUhEUgAAAAoAAAC0CAYAAACt8r24AAAABmJLR0QA/wD/AP+gvaeTAAAACXBI WXMAAA7EAAAOxAGVKw4bAAAAB3RJTUUH3QQLCx8zPioE+QAAATRJREFUWMPtmU1uhDAMhZ+j3IHc Ltxitj0IC5yZHVxnZlupvQfupkHB4U8tm1b2CpkvjvVAmOjRx/MpOIjEDE9EYOZdkJnhdLLv+9WF TkMAICIV7DSUQ8M+X7Rtu9unZ+aqmg4CQJ+vl4jIsTwAkFK6UB5y7pQ8fpom5A5FyVPmN3XMva0+ GR2lGg4nw0ADDTTQQAP/Fujle3pu/QOInq6mo4EGGvj/wZ9/9ogIj3HEYxy3QSLCfRhARPOC3YqH W9+HAWttrG5dnQeLnL0UF4F7k9Wmq4EGGmiggQbadDXQwF+DIYTqZmiaGkxdV4Fc5GZQRBZVy2pV j6nrEEJAaJpFNQCgt9tNSm8mnzi0AUXvV7tSs3O2Zg0REWKMyy9FjLECy5zTq3Nob87rrbbMu1Om HQB8AbI6jySDjEHMAAAAAElFTkSuQmCC --nextPart2197984.QKESaPX5fb--