function frijheid_panels_rounded_corners_style_render_panel($display, $panel_id, $panes, $settings) { $output = ''; // Determine where to put the box. If empty or 'pane' around each pane. If // 'panel' then just around the whole panel. $where = empty($settings['corner_location']) ? 'pane' : $settings['corner_location']; $print_separator = FALSE; foreach ($panes as $pane_id => $pane) { // Add the separator if we've already displayed a pane. $text = theme('panels_pane', $pane, $display->content[$pane_id], $display); $css_id = $pane->module .'-'. $pane->delta; if ($text) { $output .= ($where == 'pane') ? theme('rounded_corners_box', $text, $css_id) : $text; } } if ($where == 'panel') { $output = theme('rounded_corners_box', $output); } return $output; } function frijheid_rounded_corners_box($content, $css_id = '') { return <<
$content
EOF; } **** CSS **** #mini-panel-longterm_campaign .dialog .content, #mini-panel-longterm_campaign .dialog .t, #mini-panel-longterm_campaign .dialog .b, #mini-panel-longterm_campaign .dialog .b div { background-image: url(images/d5c4ff-bd-3f1f85-hd.png); } /* -- Even more rounded corners with CSS: Base stylesheet -- */ .dialog { position: relative; margin: 0px auto; min-width: 8em; max-width: 760px; /* based on image dimensions - not quite consistent with drip styles yet */ color: #fff; z-index: 1; margin-left: 12px; /* default, width of left corner */ margin-bottom: 0.5em; /* spacing under dialog */ } .dialog .content, .dialog .t, .dialog .b, .dialog .b div { background: transparent url(dialog2-blue-800x1600.png) no-repeat top right; _background-image: url(dialog2-blue.gif); } .dialog .content { background-position: top right; position: relative; zoom: 1; _overflow-y: hidden; padding: 0px 12px 0px 0px; } .dialog .t { /* top+left vertical slice */ position: absolute; left: 0px; top: 0px; width: 12px; /* top slice width */ margin-left: -12px; height: 100%; _height: 1600px; /* arbitrary long height, IE 6 */ background-position: top left; } .dialog .b { /* bottom */ position: relative; width: 100%; } .dialog .b, .dialog .b div { height: 30px; /* height of bottom cap/shade */ font-size: 1px; } .dialog .b { background-position: bottom right; } .dialog .b div { position: relative; width: 12px; /* bottom corner width */ margin-left: -12px; background-position: bottom left; } .dialog .wrapper { /* extra content protector - preventing vertical overflow (past background) */ position: static; max-height: 1000px; overflow: auto; /* note that overflow:auto causes a rather annoying redraw "lag" in Firefox 2, and may degrade performance. Might be worth trying without if you aren't worried about height/overflow issues. */ }