Patent Description:
To overcome these problems, a control bar for element activation is leveraged. A design interface for editing digital content includes at least a first control bar and a second control bar, as defined in the appended claims.

A control bar for element activation is described. The techniques described herein solve the problems associated with conventional content editing applications by providing an "always visible" and "always selectable" control bar that is associated with individual elements of digital content. Each respective control bar is configured to remain "visible" and "selectable" at all times while editing the digital content, even when an element overlaps with another element of the digital content. For example, the control bar associated with an element will remain visible even if the element is occluded by another element causing the element to be "hidden", or if the element is positioned within the boundary of another element. Moreover, a position of the control bar relative to the element remains fixed at all times, even if the element is moved or resized. In an example implementation, the control bar is provided as a horizontal bar and is positioned at a preconfigured distance above the top boundary of the element. In this way, the position of the element can be readily identified based on the position of the visible control bar.

The control bar may be selected in order to activate the respective element associated with the selected control bar such that the user can interact with the activated element. In other words, rather than selecting the element itself, the user can instead select the associated control bar in order to activate the element. Due to the control bar being always visible and selectable, the user can select the control bar with a single click or tap on the control bar regardless of the positioning of the control bar relative to other elements of the digital content. In other words, the control bar remains in a top layer of the digital content at all times during the editing phase such that any input to the digital content at a position associated with the control bar causes the associated element to be activated, even in cases in which multiple elements overlap. For example, even if an element is completely blocked from view by an additional element, the control bar associated with this hidden element will remain visible and selectable in the design interface. As another example, when a first element is positioned within a boundary of a second element, the first element can be readily selected with a single click on the associated control bar even through said control bar is within the boundary of the first element.

Responsive to detecting user input to a control bar, the associated element is activated. Once activated, subsequent user input is interpreted as input to perform an operation with respect to the activated element, such as to configure properties of the element. In this way, the user can provide a first input by clicking or tapping a control bar to activate the associated element, and then provide a second input to interact with or edit the activated element, such as by dragging the activated element to a new position within the digital content, changing a size, shape, or color of the activated element, or modifying other parameters or attributes of the activated element. In one or more implementations, selection of the control bar also causes a change in the visual appearance of both the control bar and the associated element in order to visually indicate that the element is activated, such as by visually identifying a boundary of the activated element, modifying a color of the selected control bar and/or the activated element, or changing a size of the selected control bar.

At the conclusion of the design and editing phase, a finalized version of the digital content is generated. The finalized version of the digital content, for example, can correspond to a graphic, video, document, web page, and so forth. As part of generating the finalized version of the digital content, the control bars are automatically removed from the digital content such that they are no longer visible in the finalized version of the digital content.

Thus, the control bar described herein solves the problems of conventional content editing applications by enabling elements to always be selectable during the design phase even when such elements are hidden or positioned within the boundary of other elements. Doing so enables the user to easily identify hidden elements and configure the properties of such hidden elements no matter how many elements are added to the digital content because the control bar is always displayed and selectable. Moreover, the control bars are removed at the conclusion of the editing phase and thus do not impact the finalized version of the digital content.

In the following discussion, an example environment is first described that may employ the techniques described herein. Example implementation details and procedures are then described which may be performed in the example environment as well as other environments. Performance of the example procedures is not limited to the example environment and the example environment is not limited to performance of the example procedures.

<FIG> is an illustration of an environment <NUM> in an example implementation that is operable to employ techniques described herein. The illustrated environment <NUM> includes a computing device <NUM>, which may be configured in a variety of ways. The computing device <NUM>, for instance, may be configured as a desktop computer, a laptop computer, a mobile device (e.g., assuming a handheld configuration such as a tablet or mobile phone), and so forth. Thus, the computing device <NUM> may range from full resource devices with substantial memory and processor resources (e.g., personal computers, game consoles) to a low-resource device with limited memory and/or processing resources (e.g., mobile devices). Additionally, although a single computing device <NUM> is shown, the computing device <NUM> may be representative of a plurality of different devices, such as multiple servers utilized by a business to perform operations "over the cloud" as described in <FIG>.

The computing device <NUM> is illustrated as including a design tool <NUM>. Generally, the design tool <NUM> represents an application or functionality of the computing device <NUM> to design, create, and/or modify digital content <NUM>. As described herein, digital content <NUM> may include any type of digital content that is designed, created, or edited using design tool <NUM>, including by way of example and not limitation, graphics, digital presentations, documents, videos, images, web pages, and so forth. For example, the design tool <NUM> may be implemented as a graphics editing application, a word processing application, a web page design application, and so forth. The design tool <NUM> may further be representative of more than one application (e.g., a suite of applications) that supports functionality to perform content editing operations on various types of digital content <NUM> without departing from the scope of the techniques described herein. At least some of the digital content <NUM>, relative to which the design tool <NUM> is configured to perform operations may be maintained in storage of the computing device <NUM>. However, the digital content <NUM> may also represent digital content accessible to the computing device <NUM> in other ways, e.g., accessible to the computing device <NUM> from storage of another device over network <NUM>. The digital content <NUM> may represent various types of digital content without departing from the scope of the techniques described herein.

The design tool <NUM> includes functionality that enables users to create and arrange a variety of digital content elements <NUM> ("elements <NUM>") within the digital content <NUM>. As described herein, elements <NUM> can include any element or object that is included with digital content <NUM>, including by way of example and not limitation, images, text, points, lines, basic shapes (e.g., rectangles, squares, ellipses, circles, triangles, and so on), user-defined shapes (e.g., by drawing and connecting a series of lines), and so forth.

In accordance with the techniques described herein, elements <NUM> may also include container elements which correspond to an element that can contain other elements <NUM> within a boundary of the container element. In some cases, the design tool <NUM> establishes a hierarchical relationship between the container element and the elements contained within the container element. For example, the container element may be established as the parent element : for one or more child elements contained within the parent element. Examples of container elements <NUM> include, by way of example and not limitation, frames, tabs, tables, forms, and lists. In some cases, a hierarchical relationship between elements <NUM> may be established based on the positioning of elements within the digital content. For example, a parent-child relationship may be established when a user positions a first shape within the boundary of a second shape.

In order to facilitate the design, creation, or editing of digital content <NUM>, the design tool <NUM> includes functionality for editing digital content <NUM> during a design phase. As part of the design phase, the design tool <NUM> provides a design interface <NUM> that allows users to interact with and edit the elements <NUM> of the digital content in order to change the properties or attributes of these elements, such as the element's position within the digital content <NUM>, size, shape, color, transparency, fill type (e.g., solid, gradient, pattern, texture, and so on), depth relative to other objects (e.g., in front of or behind), whether the elements cast shadows, and so forth. The design tool <NUM> may facilitate other content editing operations via the functionality of the design interface <NUM> without departing from the scope of the techniques described herein.

By way of example, the digital content <NUM> is depicted as being displayed within the design interface <NUM> as a graphic that the user is creating and editing using the design tool <NUM>. The graphic, in this instance, is a birthday card graphic and includes a container element <NUM>, a text element <NUM> (which includes the words "Happy Birthday Jack!"), and an image element <NUM> (an image of a robot). Notably, the elements <NUM> and <NUM> are positioned within a boundary of the container element <NUM>, which may cause the design tool <NUM> to create a hierarchical relationship between "parent" element <NUM> and "child" elements <NUM> and <NUM>. Moreover, it is to be appreciated that elements <NUM> and <NUM> each partially overlap element <NUM> due to their positioning with the boundary of element <NUM>. Using conventional content editing applications, it can be difficult for the user to select and interact with or edit these overlapping elements. For example, clicking on element <NUM> or <NUM> using a conventional content editing application may cause the application to interpret the click as a selection of the container element <NUM>. This can lead to user frustration and confusion as the user tries to select a desired element.

To solve these problems, the computing device <NUM> is depicted as including a control bar manager <NUM>, the functionality of which may be incorporated in and/or accessible to the design tool <NUM>. The control bar manager <NUM> is implemented at least partially in hardware of the computing device <NUM> to facilitate efficient and effective creation and editing of digital content <NUM> through the use of control bars <NUM> associated with the elements <NUM> of the digital content <NUM>. Continuing with the example above, the control bar manager <NUM> displays control bars <NUM>, <NUM>, and <NUM> for elements <NUM>, <NUM>, and <NUM>, respectively. Each of control bars <NUM>, <NUM>, and <NUM> are selectable by the user in order to activate the corresponding element <NUM>, <NUM>, or <NUM>. The activating enables user interaction with the activated element, such as to move the activated element, change a size, color or shape of the activated element, or modify other properties or attributes of the activated element. Notably, the control bar manager <NUM> controls the control bars <NUM> to remain visible and selectable in the design interface <NUM> while editing the digital content <NUM> during the design phase.

At the completion of the design phase, the design tool <NUM> generates a finalized version of the digital content <NUM>. The finalized version of the digital content <NUM>, for example, can correspond to an image file, movie, document, web page, and so forth. As part of generating the finalized version of the digital content <NUM>, the control bar manager <NUM> automatically removes the control bars <NUM> from the digital content <NUM> such that they are no longer visible in the finalized version of the digital content <NUM>. For example, as depicted in environment <NUM>, the design tool <NUM> has removed the control bars <NUM>, <NUM>, and <NUM> from the finalized version of the digital content <NUM>.

Having considered an example environment, consider now a discussion of some example details of the techniques for a control bar for element activation in accordance with one or more implementations.

<FIG> depicts an example system <NUM> in which the control bar manager <NUM> of <FIG> controls a control bar for element activation in accordance with the described techniques. In the illustrated example <NUM>, the control bar manager <NUM> includes a display module <NUM>, an activation module <NUM>, and an operation manager <NUM>. Although depicted with these three modules, in implementation the control bar manager <NUM> may include more, fewer, or different modules to control the control bar for element activation without departing from the scope of the techniques described herein.

In the illustrated example <NUM>, the display module <NUM> is depicted as controlling the display of control bars <NUM> and associated elements <NUM>. As part of this, the display module <NUM> of the control bar manager <NUM> controls the display of a control bar <NUM> at a position that remains fixed relative to the respective position of the associated element <NUM>. In this way, the position of the element can be readily identified by the user based on the position of the visible control bar <NUM>. In one or more implementations, the display module <NUM> provides a horizontal control bar that is displayed at a preconfigured distance above a top boundary of the associated element. However, the display module <NUM> can provide a variety of different shapes for the control bar as well as display the control bar at different positions relative to the associated elements without departing form the scope of the described techniques, such as by positioning the control bar to the right, left, or below the associated element in the digital content. As described throughout, the display module <NUM> controls the control bars <NUM> to remain visible and selectable in the design interface while editing the digital content.

The activation module <NUM> is depicted as monitoring for and receiving a first user input <NUM> to select one of the displayed control bars <NUM>. Due to the control bar being always visible and selectable, the first user input <NUM> can be received as a single click or tap on the control bar <NUM> regardless of the positioning of the control bar relative to other elements of the digital content. In other words, the control bar remains in a top layer of the digital content at all times during the editing phase such that any input to the digital content at a position associated with the control bar causes the activation module <NUM> to interpret the input as a user selection of the control bar, even in cases in which multiple elements overlap. Responsive to detecting the first user input <NUM> to select a control bar <NUM>, the activation module <NUM> activates the element associated with the selected control bar, which is depicted as activated element <NUM> in example <NUM>.

The activation module <NUM> is depicted as communicating an indication of the activated element <NUM> back to the display module <NUM>. Responsively, the display module <NUM> changes a visual appearance of both the selected control bar and the activated element <NUM>. The display module can change the visual appearance of the selected control bar and the activated element <NUM> in a variety of different ways, including by way of example and not limitation, visually identifying a boundary of the activated element <NUM>, modifying a color of the selected control bar and/or the activated element <NUM>, or changing a size of the selected control bar.

The activation module <NUM> also communicates an indication of the activated element <NUM> to the operation manager <NUM> to inform the operation manager <NUM> that the activated element <NUM> is currently active. Subsequently, the operation manager <NUM> receives a second user input <NUM> and interprets the second user input <NUM> as input to perform an operation with respect to the activated element <NUM>. In this way, the user can quickly click or tap a control bar to activate the associated element, and then provide a second input to interact with or edit the activated element <NUM>, such as by dragging the activated element to a new position within the digital content, changing a size, shape, or color of the activated element <NUM>, or modifying other parameters or attributes of the activated element <NUM>.

<FIG> depict an example <NUM> of a design interface of a design tool used in connection with a control bar manager. The illustrated example <NUM> includes a design interface <NUM> displayed via display device <NUM>. In <FIG>, the design interface <NUM> is depicted as including a design area <NUM> for designing and editing digital content. The design area <NUM>, in this example, is shown as displaying various elements for a web page, including a frame element <NUM> that contains a form element <NUM>. The form element <NUM>, in this example, includes multiple data entry field elements <NUM>, <NUM>, <NUM>, <NUM>, and <NUM>, which are configured to receive user input corresponding to a user ID, user name, department, address, and remarks, respectively. The design interface <NUM> in this example is further depicted as including various controls to insert elements into the digital content, modify parameters of the digital content, and perform various other operations associated with the digital content.

Notably, form element <NUM> is positioned within a boundary of frame element <NUM> which may cause the design tool <NUM> to create a hierarchical relationship between these elements such that frame element <NUM> is the "parent" and form element <NUM> is the "child". Similarly, the multiple data entry field elements <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are positioned within a boundary of form element <NUM> which may cause the design tool <NUM> to create a hierarchical relationship between these elements such that the form element <NUM> is the "parent" and the data entry field elements <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> are the "children" of form element <NUM>. Moreover, it is to be appreciated that elements <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> overlap each other due to the positioning of form element <NUM> within the boundary of frame element <NUM>, and the positioning of elements <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> within form element <NUM>. Using conventional content editing applications, it can be difficult for the user to select and interact with or edit these overlapping elements.

To solve the problems associated with conventional content editing applications, the control bar manager <NUM> displays a control bar <NUM> associated with frame element <NUM> and a control bar <NUM> associated with form element <NUM>. Each of control bars <NUM> and <NUM> are selectable by the user in order to activate the corresponding element <NUM> or <NUM>, respectively. The activating enables user interaction with the activated element, such as to move the activated element, change a size, color or shape of the activated element, or modify other properties or attributes of the activated element. As discussed throughout, the control bar manager <NUM> controls the control bars <NUM> and <NUM> to remain visible and selectable in the design interface <NUM> while editing the digital content <NUM> during the design phase.

The illustrated example <NUM> also includes a cursor <NUM>, which represents functionality to enable a user to provide input to select elements or controls displayed in the design interface <NUM>. Although the cursor <NUM> is illustrated, in one or more implementations there may be no displayed cursor. Additionally or alternately, the element and controls of the design interface <NUM> may be selected in other ways, such as via touch input (or other gesture input), keyboard input, stylus input, voice input, and so forth.

In <FIG>, the cursor <NUM> is depicted selecting the control bar <NUM> associated with the frame element <NUM>. The control bar <NUM> can be selected, for example, by positioning cursor <NUM> over the control bar <NUM> and initiating a single click or tap. Responsive to the selection of control bar <NUM>, the control bar manager <NUM> activates the associated frame element <NUM>. The activating enables user interaction with frame element <NUM>, such as to move or resize the frame element, or modify other properties or attributes of the frame element via user selection of various controls in the design interface <NUM>.

As part of activating frame element <NUM>, the control bar manager <NUM> also changes a visual appearance of both the selected control bar <NUM> and the activated frame element <NUM>. In this example, control bar manager <NUM> is depicted as changing the color and width of the selected control bar <NUM>. For example, as compared to <FIG>, the control bar <NUM> has increased in width and changed color from gray to black. Doing to visually distinguishes the selected control bar <NUM> from control bar <NUM> which is not currently active. Additionally, the control bar manager <NUM> has visually identified a border <NUM> of the activated frame element <NUM>. In some cases, the control bar manager may also highlight the activated frame element <NUM> to show that the frame element <NUM> is currently active. It is to be appreciated that the control bar manager may change the visual appearance of the selected control bar and the activated element in a variety of different ways without departing from the scope of the described techniques.

In <FIG>, the cursor <NUM> is depicted selecting the control bar <NUM> associated with the form element <NUM>. The control bar <NUM> can be selected, for example, by positioning cursor <NUM> over the control bar <NUM> and initiating a single click or tap. Responsive to the selection of control bar <NUM>, the control bar manager <NUM> activates the associated form element <NUM>. The activating enables user interaction with form element <NUM>, such as to move or resize the form element, or modify other properties or attributes of the form element via user selection of various controls in the design interface <NUM>.

As part of activating form element <NUM>, the control bar manager <NUM> also changes a visual appearance of both the selected control bar <NUM> and the activated form element <NUM>. In this example, control bar manager <NUM> is depicted as changing the color and width of the selected control bar <NUM>. For example, as compared to <FIG> and <FIG>, the control bar <NUM> has increased in width and changed color from gray to black. Doing so visually distinguishes the selected control bar <NUM> from control bar <NUM> which is not currently active. Additionally, the control bar manager <NUM> has visually identified a border <NUM> of the activated form element <NUM>. In some cases, the control bar manager may also highlight the activated form element <NUM> to show that the form element <NUM> is currently active. It is to be appreciated that the control bar manager <NUM> may change the visual appearance of the selected control bar and the activated element in a variety of different ways without departing from the scope of the described techniques.

In one or more implementations, the control bar manager <NUM> is configured to display control bars for container elements, but does not do so for single elements. In example <NUM>, for instance, the data entry field elements <NUM>, <NUM>, <NUM>, <NUM>, and <NUM> do not include associated control bars because they are each single element which do not contain any child elements. In this implementation, however, single elements which do not include a control bar may be easily selected by the user by first selecting the control bar associated with the container element that contains the single element, and then selecting the single element. In <FIG>, for example, after activating form element <NUM> by selecting control bar <NUM>, the user selects data entry field element <NUM> by positioning cursor <NUM> over the data entry field element <NUM> and initiating a single click or tap. Because form element <NUM> is currently active, the user can click directly on any of the child elements contained within form element <NUM> in order to interact with the child elements. Responsive to the user selection of data entry field element <NUM>, the control bar manager has visually identified a border <NUM> of the activated data entry field element <NUM>. However, it is to be appreciated that the control bar manager may change the visual appearance of the activated element in a variety of different ways without departing from the scope of the described techniques. The activating enables user interaction with data entry field element <NUM>, such as to move or resize the element, or modify other properties or attributes of the element via user selection of various controls in the design interface <NUM>. For example, in <FIG> the user has modified the size of data entry field element <NUM> by clicking the border <NUM> and dragging downwards.

<FIG> depicts a finalized version of the digital content <NUM>. As part of generating the finalized version of the digital content <NUM>, the control bar manager <NUM> automatically removes the control bars from the digital content such that they are no longer visible in the finalized version of the digital content <NUM>. In this example, the design tool <NUM> has removed the control bars <NUM> and <NUM> from the finalized version of the digital content <NUM>.

As discussed throughout, the control bar manager <NUM> displays the control bar at a preconfigured distance above a top boundary of the element. To do so, the control bar manager <NUM> applies a padding layer to each element of the digital content.

As an example, consider <FIG> which depicts an example <NUM> that includes an example element <NUM> and associated control bar <NUM> that is positioned at a preconfigured distance above a top boundary of the element. In this example, the element <NUM> is shown with an element height <NUM> and a top boundary <NUM>, which is depicted as a dashed line. The control bar <NUM> is displayed at a preconfigured distance above the top boundary <NUM> of the element <NUM>. In this example, this preconfigured distance is depicted as a padding layer <NUM>. Notably, the distance of the padding layer <NUM> is fixed for each element in the digital content. Doing so enables the control bar to have a visible position in the digital content at all times during the design phase. While the padding layer is depicted throughout as being positioned above the top boundary of the element, it is to be appreciated that other configurations could be used without departing from the scope of the described techniques, such as by positioning the padding layer below the bottom boundary of the element, or to the left or right of the element.

This section describes example procedures for a control bar for element activation. Aspects of the procedures may be implemented in hardware, firmware, or software, or a combination thereof. The procedures are shown as a set of blocks that specify operations performed by one or more devices and are not necessarily limited to the orders shown for performing the operations by the respective blocks. In at least some implementations the procedures are performed by a design tool, such as design tool <NUM> that makes use of a control bar manager <NUM>.

<FIG> depicts a procedure <NUM> in an example implementation in which a control bar manager provides control bars for element activation.

A design interface for editing digital content is displayed (block <NUM>). By way of example, the design tool <NUM> displays a design interface <NUM> for editing digital content <NUM> on a display of computing device <NUM>. The design interface <NUM> allows users to interact with and edit the elements <NUM> of the digital content <NUM> in order to change the properties or attributes of these elements, such as the element's position within the digital content <NUM>, size, shape, color, transparency, fill type (e.g., solid, gradient, pattern, texture, and so on), depth relative to other objects (e.g., in front of or behind), whether the elements cast shadows, and so forth. The design tool <NUM> may facilitate other content editing operations via the functionality of the design interface <NUM> without departing from the scope of the techniques described herein,.

A first control bar and a second control bar are displayed in the design interface (block <NUM>). In accordance with the principles discussed herein, the first control bar is associated with a first element of the digital content and the second control bar is associated with a second element of the digital content that at least partially overlaps the first element in the digital content. As discussed throughout, the first control bar and the second control bar are configured to remain visible and selectable in the design interface while editing the digital content. By way of example, the control bar manager displays control bars <NUM>, <NUM>, and <NUM> for elements <NUM>, <NUM>, and <NUM>, respectively. Each of control bars <NUM>, <NUM>, and <NUM> are selectable by the user in order to activate the corresponding element <NUM>, <NUM>, or <NUM>. Notably, the control bar manager <NUM> controls the control bars <NUM> to remain visible and selectable in the design interface <NUM> while editing the digital content <NUM> during the design phase.

User input is received to select the first control bar or the second control bar (block <NUM>). By way of example, the activation module <NUM> of the control bar manager <NUM> receives a first user input <NUM> to select one of the displayed control bars <NUM>. Due to the control bar being always visible and selectable, the user input can be received as a single click or tap on the control bar <NUM> regardless of the positioning of the control bar relative to other elements of the digital content. In other words, the control bar remains in a top layer of the digital content at all times during the editing phase such that any input to the digital content at a position associated with the control bar causes the activation module to interpret the input as a user selection of the control bar, even in cases in which multiple elements overlap.

The respective first element or second element associated with the selected control bar is activated responsive to the user input (block <NUM>). In accordance with the principles discussed herein, the activating changes a visual appearance of both the selected control bar and the activated element and enables user interaction with the activated element. By way of example, responsive to detecting the first user input <NUM> to select a control bar <NUM>, the activation module <NUM> activates the element associated with the selected control bar, which is depicted as activated element <NUM> in example <NUM>. Additionally, the display module <NUM> changes a visual appearance of both the selected control bar and the activated element <NUM>. The display module can change the visual appearance of the selected control bar and the activated element <NUM> in a variety of different ways, including by way of example and not limitation, visually identifying a boundary of the activated element <NUM>, modifying a color of the selected control bar and/or the activated element <NUM>, or changing a size of the selected control bar. Once activated, the operation manager <NUM> interprets subsequent user input as input to perform an operation with respect to the activated element <NUM>. In this way, the user can quickly click or tap a control bar to activate the associated element, and then provide a second input to interact with or edit the activated element <NUM>, such as by dragging the activated element to a new position within the digital content, changing a size, shape, or color of the activated element <NUM>, or modifying other parameters or attributes of the activated element <NUM>.

A finalized version of the digital content is generated by removing the first control bar and the second control bar from the finalized version of the digital content (block <NUM>). By way of example, at the completion of the design phase, the design tool <NUM> generates a finalized version of the digital content <NUM>. The finalized version of the digital content <NUM>, for example, can correspond to an image file, movie, document, web page, and so forth. As part of generating the finalized version of the digital content <NUM>, the control bar manager <NUM> automatically removes the control bars <NUM> from the digital content <NUM> such that they are no longer visible in the finalized version of the digital content <NUM>. For example, as depicted in environment <NUM>, the design tool <NUM> has removed the control bars <NUM>, <NUM>, and <NUM> from the finalized version of the digital content <NUM>.

<FIG> illustrates an example system <NUM> that includes an example computing device <NUM> that is representative of one or more computing systems and/or devices that may implement the various techniques described herein. This is illustrated through inclusion of the control bar manager <NUM>. The computing device <NUM> may be, for example, a server of a service provider, a device associated with a client (e.g., a client device), an on-chip system, and/or any other suitable computing device or computing system.

The example computing device <NUM> as illustrated includes a processing system <NUM>, one or more computer-readable media <NUM>, and one or more I/O interface <NUM> that are communicatively coupled, one to another. Although not shown, the computing device <NUM> may further include a system bus or other data and command transfer system that couples the various components, one to another. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures. A variety of other examples are also contemplated, such as control and data lines.

The processing system <NUM> is representative of functionality to perform one or more operations using hardware. Accordingly, the processing system <NUM> is illustrated as including hardware element <NUM> that may be configured as processors, functional blocks, and so forth. This may include implementation in hardware as an application specific integrated circuit or other logic device formed using one or more semiconductors. The hardware elements <NUM> are not limited by the materials from which they are formed or the processing mechanisms employed therein. For example, processors may be comprised of semiconductor(s) and/or transistors (e.g., electronic integrated circuits (ICs)). In such a context, processor-executable instructions may be electronically-executable instructions.

The computer-readable storage media <NUM> is illustrated as including memory/storage <NUM>. The memory/storage <NUM> represents memory/storage capacity associated with one or more computer-readable media. The memory/storage component <NUM> may include volatile media (such as random access memory (RAM)) and/or nonvolatile media (such as read only memory (ROM), Flash memory, optical disks, magnetic disks, and so forth). The memory/storage component <NUM> may include fixed media (e.g., RAM, ROM, a fixed hard drive, and so on) as well as removable media (e.g., Flash memory, a removable hard drive, an optical disc, and so forth). The computer-readable media <NUM> may be configured in a variety of other ways as further described below.

Input/output interface(s) <NUM> are representative of functionality to allow a user to enter commands and information to computing device <NUM>, and also allow information to be presented to the user and/or other components or devices using various input/output devices. Examples of input devices include a keyboard, a cursor control device (e.g., a mouse), a microphone, a scanner, touch functionality (e.g., capacitive or other sensors that are configured to detect physical touch), a camera (e.g., which may employ visible or non-visible wavelengths such as infrared frequencies to recognize movement as gestures that do not involve touch), and so forth. Examples of output devices include a display device (e.g., a monitor or projector), speakers, a printer, a network card, tactile-response device, and so forth. Thus, the computing device <NUM> may be configured in a variety of ways as further described below to support user interaction.

Various techniques may be described herein in the general context of software, hardware elements, or program modules. Generally, such modules include routines, programs, objects, elements, components, data structures, and so forth that perform particular tasks or implement particular abstract data types. The terms "module," "functionality," and "component" as used herein generally represent software, firmware, hardware, or a combination thereof. The features of the techniques described herein are platform-independent, meaning that the techniques may be implemented on a variety of commercial computing platforms having a variety of processors.

"Computer-readable storage media" may refer to media and/or devices that enable persistent and/or non-transitory storage of information in contrast to mere signal transmission, carrier waves, or signals per se. Thus, computer-readable storage media refers to non-signal bearing media. The computer-readable storage media includes hardware such as volatile and non-volatile, removable and non-removable media and/or storage devices implemented in a method or technology suitable for storage of information such as computer readable instructions, data structures, program modules, logic elements/circuits, or other data. Examples of computer-readable storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, hard disks, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or other storage device, tangible media, or article of manufacture suitable to store the desired information and which may be accessed by a computer.

"Computer-readable signal media" may refer to a signal-bearing medium that is configured to transmit instructions to the hardware of the computing device <NUM>, such as via a network. Signal media typically may embody computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as carrier waves, data signals, or other transport mechanism. Signal media also include any information delivery media. By way of example, and not limitation, communication media include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.

As previously described, hardware elements <NUM> and computer-readable media <NUM> are representative of modules, programmable device logic and/or fixed device logic implemented in a hardware form that may be employed in some embodiments to implement at least some aspects of the techniques described herein, such as to perform one or more instructions. Hardware may include components of an integrated circuit or on-chip system, an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a complex programmable logic device (CPLD), and other implementations in silicon or other hardware. In this context, hardware may operate as a processing device that performs program tasks defined by instructions and/or logic embodied by the hardware as well as a hardware utilized to store instructions for execution, e.g., the computer-readable storage media described previously.

Combinations of the foregoing may also be employed to implement various techniques described herein. Accordingly, software, hardware, or executable modules may be implemented as one or more instructions and/or logic embodied on some form of computer-readable storage media and/or by one or more hardware elements <NUM>. The computing device <NUM> may be configured to implement particular instructions and/or functions corresponding to the software and/or hardware modules. Accordingly, implementation of a module that is executable by the computing device <NUM> as software may be achieved at least partially in hardware, e.g., through use of computer-readable storage media and/or hardware elements <NUM> of the processing system <NUM>. The instructions and/or functions may be executable/operable by one or more articles of manufacture (for example, one or more computing devices <NUM> and/or processing systems <NUM>) to implement techniques, modules, and examples described herein.

The techniques described herein may be supported by various configurations of the computing device <NUM> and are not limited to the specific examples of the techniques described herein. This functionality may also be implemented all or in part through use of a distributed system, such as over a "cloud" <NUM> via a platform <NUM> as described below.

The platform <NUM> may abstract resources and functions to connect the computing device <NUM> with other computing devices. The platform <NUM> may also serve to abstract scaling of resources to provide a corresponding level of scale to encountered demand for the resources <NUM> that are implemented via the platform <NUM>. Accordingly, in an interconnected device embodiment, implementation of functionality described herein may be distributed throughout the system <NUM>. For example, the functionality may be implemented in part on the computing device <NUM> as well as via the platform <NUM> that abstracts the functionality of the cloud <NUM>.

Claim 1:
A method (<NUM>) implemented by a computing device, the method comprising:
displaying (<NUM>) a design interface (<NUM>) for editing digital content (<NUM>);
displaying (<NUM>), in the design interface (<NUM>), at least a first control bar (<NUM>) and a second control bar (<NUM>), the first control bar (<NUM>) associated with a first element (<NUM>) of the digital content (<NUM>) and the second control bar (<NUM>) associated with a second element (<NUM>) of the digital content (<NUM>) that at least partially overlaps the first element (<NUM>) in the digital content (<NUM>),
wherein a padding layer (<NUM>) is applied to each of the elements of the digital content (<NUM>) and a distance of the padding layer (<NUM>) is fixed for each of the elements of the digital content (<NUM>) thereby causing each of the control bars to be displayed at a preconfigured distance from a boundary of their respective elements,
wherein the first control bar (<NUM>) and the second control bar (<NUM>) are configured to remain visible and selectable in the design interface (<NUM>) while editing the digital content (<NUM>) even if the first element (<NUM>) or the second element (<NUM>) is completely blocked from view by an additional element of the digital content (<NUM>);
receiving (<NUM>) a user input to select the first control bar (<NUM>) or the second control bar (<NUM>);
activating (<NUM>) the respective first element (<NUM>) or second element (<NUM>) associated with the selected control bar responsive to the user input, the activating changing a visual appearance of both the selected control bar and the activated element and enabling user interaction with the activated element; and
generating (<NUM>) a finalized version (<NUM>) of the digital content by removing the first control bar (<NUM>) and the second control bar (<NUM>) from the finalized version (<NUM>) of the digital content.