Image processing device, control method, and program
The image processing apparatus improves usability by controlling the movement speed of display objects during rearrangement, ensuring clear visual representation and easier icon manipulation on devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-09-05
- Publication Date
- 2026-03-17
AI Technical Summary
Existing image processing systems lack usability improvements when moving display objects, particularly in devices like smartphones, where the visual representation of icon rearrangement during drag operations can be confusing due to overlapping movements of multiple icons.
An image processing apparatus that includes display control means for moving display objects at a speed determined by a determination means, based on information about the objects, ensuring clear visual representation of icon movements during rearrangement.
Enhances usability by providing clear and intuitive movement of display objects, making it easier for users to rearrange icons on screens.
Smart Images

Figure 2026048484000001_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to an image processing apparatus, a control method on a screen, and a program.
Background Art
[0002] Conventionally, techniques for performing display control regarding the following display objects in smartphones and the like are known. That is, when a predetermined display object is dragged and dropped by a user, display control such as moving (changing the position) the predetermined display object, inserting it to change the display position (rearranging), etc. is known. In Patent Document 1, when an insertion operation is performed during a drag operation of a predetermined icon, a mark is additionally displayed on one or more icons that are rearrangement targets other than the predetermined icon, so that the icons that are rearrangement targets are visually shown to the user.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] It is required to improve the usability when moving a display object.
Means for Solving the Problems
[0005] One embodiment of the present disclosure is an image processing apparatus comprising: display control means for displaying a plurality of display objects on a screen; movement means for moving the display objects to be moved on the screen; and determination means for determining the movement speed when the display objects are moved based on information about the display objects, wherein the display control means displays the movement of the display objects to be moved at the movement speed determined by the determination means. [Effects of the Invention]
[0006] This disclosure makes it possible to improve the usability when moving display objects. [Brief explanation of the drawing]
[0007] [Figure 1] Block diagram illustrating the hardware configuration of the image processing device in this embodiment. [Figure 2] An example of an external view of the operating section in this embodiment. [Figure 3] This section explains the control method on the home screen. [Figure 4] This section explains the control method on the home screen. [Figure 5] This section explains the control method on the home screen. [Figure 6] This section explains the control method on the home screen. [Figure 7] This section explains the control method on the home screen. [Figure 8] This section explains the control method on the home screen. [Figure 9] This section explains the control method on the home screen. [Figure 10] This section explains the control method on the home screen. [Figure 11] This section explains the control method on the home screen. [Figure 12] A diagram illustrating the data structure for managing the display position of icons on the home screen in the embodiment. [Figure 13] Flowchart of the processing when an icon is pressed on the image processing apparatus in this embodiment [Figure 14] Flowchart showing a method for changing the icon display position [Figure 15] Detailed flowchart of the selection process for the icons to be rearranged in this embodiment [Figure 16] Diagram showing the structure of the data that holds the information of the icons to be rearranged, which is generated in the selection process for the icons to be rearranged in this embodiment [Figure 17] Detailed flowchart of the update process for replicating the display order array in this embodiment [Figure 18] Detailed flowchart of the processing for calculating the movement distance of an icon in this embodiment [Figure 19] Diagram showing the table that holds the movement speed of an icon according to the movement distance of the icon in this embodiment [Figure 20] Detailed flowchart of the process for determining the animation speed according to the number of icons to be rearranged in this embodiment [Figure 21] Diagram showing the data structure that holds the animation speed according to the number of icons to be rearranged in this embodiment [Figure 22] Detailed flowchart of the process for determining the animation speed according to the number of icons per page in this embodiment [Figure 23] Diagram showing the data structure that holds the animation speed according to the number of icons per page in this embodiment
Mode for Carrying Out the Invention
[0008] Hereinafter, embodiments will be described in detail with reference to the accompanying drawings. Note that the following embodiments do not limit the disclosure according to the claims. Although a plurality of features are described in the embodiments, not all of these plurality of features are essential for the disclosure, and the plurality of features may be arbitrarily combined. Further, in the accompanying drawings, the same or similar configurations are denoted by the same reference numerals, and redundant descriptions may be omitted.
[0009] <First Embodiment> FIG. 1 is a block diagram for explaining the configuration of an image processing apparatus 1 which is an example according to an embodiment of the present disclosure. The image processing apparatus 1 is, for example, a printer of an MFP (Multi Function Peripheral) having the following functions. Note that it may be a printer of an SFP (Single Function Peripheral) instead of an MFP.
[0010] The image processing apparatus 1 includes a control unit 10, an operation unit 12, an image processing unit 13, a scanner 109, and a printer 110. The control unit 10 controls the operations of each unit of the image processing apparatus 1. The control unit 10 includes a processor 100, a communication unit 101, a RAM 102, an HDD 103, a ROM 104, a timer 105, a FAX unit 106, a printer I / F 107, and a scanner I / F 108.
[0011] The processor 100 controls the entire control unit 10. The communication unit 101 is connected to the LAN 11 and controls the transmission and reception of data via the LAN 11. The RAM 102 functions as the work memory of the processor 100. The HDD 103 stores application programs and image data. The HDD 103 may be a storage medium such as optical media or flash memory. The ROM 104 stores programs that are read by the processor 100, such as boot programs. The HDD 103 may also be configured to be detachable from the image processing device 1 as an external storage device. The timer 105 manages time and is referenced by the processor 100 from which time information is obtained. The fax unit 106 is connected to the telephone line 14 and controls the transmission and reception of data via the telephone line 14. The image processing device 1 has a facsimile function using the fax unit 106. The printer I / F 107 is the interface between the control unit 10 and the printer 110 and is used by the control unit 10 to control the printer 110. The scanner I / F 108 is the interface between the control unit 10 and the scanner 109. The control unit 10 uses this interface to control the scanner 109 and to input image data of the document from the scanner 109. The control unit 10 has the above-described components and functions as described above, so it can be considered a type of computer.
[0012] The operation unit 12 includes a display unit 120 to which a touch panel sheet is attached, and an input unit 121 such as hardware keys, and displays a screen and accepts operations from the user. In this embodiment, a liquid crystal display is described as an example of the display unit 120, but other types of displays may be used. In this embodiment, a touch panel is described as an example of the input unit 121, but user operations may be accepted through other interfaces such as a mouse.
[0013] The image processing unit 13 is controlled by the control unit 10 and includes an image analysis unit 130 and an image generation unit 131. The image analysis unit 130 analyzes the structure of the original image and extracts necessary information from the analysis results. The image generation unit 131 digitizes the image of the original read by the scanner 109 and generates image data. The generated image data is stored in the HDD 103. The image generation unit 131 can also generate original image data in a different format using the information analyzed by the image analysis unit 130.
[0014] The image processing device 1 has copy, scan, and print functions. The copy function reads image data from a document using the scanner 109 and prints an image based on the scanned document image data onto a sheet using the printer 110. The scan function reads an image from a document using the scanner 109 and transmits the generated image data via the communication unit 101. The print function prints an image based on print data received from an external information processing device such as a PC via the communication unit 101 onto a sheet using the printer 110.
[0015] Figure 2 is an overview view of the operating unit 12 shown in Figure 1.
[0016] The touch panel 200 is, for example, a liquid crystal display with a touch panel sheet attached. The touch panel 200 displays objects such as operation screens and soft keys, and when a displayed object is selected by an indicator (for example, the user's actual finger), it transmits its position information to the processor 100. This allows the processor 100 to determine which object has been selected by the user. Therefore, in this case, the touch panel 200 functions as both the display unit 120 in Figure 1 and the input unit 121. In this embodiment, a configuration in which the display unit 120 has the functionality of a touch panel 200 is described, but it does not have to have the functionality of a touch panel 200. For example, the display unit 120 may display in a form in which the screen transitions based on operations performed by a pointing device mouse such as a cursor.
[0017] Next, we will explain the various keys and buttons operated by the user. The start key 201 is used to instruct the scanner 109 to begin scanning a document, for example.
[0018] The start key 201 has a two-color LED 202 in the center, which is green and red, indicating whether the start key 201 is ready to use. The stop key 203 is used to stop an operation that is currently running. The numeric keypad 204 consists of number and symbol keys and is used to set the number of copies and to switch screens on the touch panel 200. The user mode key 205 is used to access user mode. User mode is a mode for configuring the image processing device 1.
[0019] Figures 3 to 11 illustrate the screen transitions associated with the layout change process of display objects (soft keys, icons) that represent applications displayed on the home screen 318. Figures 3 to 11 show the home screen 318. Figures 3(a), 4(b), ..., and 11(a) show examples where the first page 341 is displayed in the icon area 300 of the home screen 318. Figures 3(b), 4(b), ..., and 11(b) show examples where the second page 342 is displayed in the icon area 300 of the home screen 318. For example, when referring to the home screen 318 shown in Figure 3, it refers to both the home screen 318 shown in Figure 3(a) and the home screen shown in Figure 3(b). The home screen 318 shown in Figure 3(a) and the home screen 318 shown in Figure 3(b) can be swapped by the user. The same applies to Figures 4 to 12.
[0020] The home screen 318 is the first screen displayed on the display unit 120 when the image processing device 1 is powered on, and it is a screen on which the user can customize each icon. The home screen 318 may also be a screen displayed based on user operations on other screens displayed on the display unit 120. An icon is a button used to execute various functions of the image processing device 1. For example, if the icon indicating copy is selected by the user, a settings screen for executing the copy function will be displayed. In other words, the function of the image processing device 1 corresponding to the icon selected by the user is activated. Therefore, icons are sometimes referred to as buttons.
[0021] Note that the functions associated with each icon shown in Figures 3 to 11 may be functions not shown in the illustrations.
[0022] This embodiment shows an example in which an icon located on the first page 341 is moved to the first page 341 by user operation.
[0023] However, this embodiment is not limited to this, and an icon placed on the first page 341 may be moved to the second page 342 by user operation. Also, in this embodiment, icons are placed only on the first page 341 and the second page 342. However, this embodiment is not limited to this, and icons may be placed on pages from the third page onward. Furthermore, icons may be moved by user operation across pages from the first page 341 to the third page onward. Regardless of the number of pages on which icons are placed, icons may be moved within the same page or across multiple pages by user operation. Here, user operation refers to, for example, a drag-and-drop operation of the icon that is the direct target of movement (i.e., the icon that the user intends to move and which is dragged by the user), but is not limited to this. For example, user operation may be a combination of selecting an icon and selecting a destination location.
[0024] Let's use Figure 3 as an example to explain the home screen 318 in detail.
[0025] Figure 3(a) shows an example of the home screen 318 displaying the first page 341 in the icon area 300. Icons 301 to 315 are arranged on the first page 341. Icons 301 to 315 are selected by the user to be placed on the first page 341. The arrangement of icons 301 to 315 is also determined by the user, as shown in Figure 3(a). When a user logs into the image processing device 1, the home screen 318 is initially displayed, with the first page 341, arranged according to the user-determined layout of the icons selected by the user, displayed in the icon area 300, based on the user's ID. In other words, the home screen 318 with the user-customized first page 341 displayed in the icon area 300 is displayed first. Pages from the second page 342 onwards are similarly customized by the user.
[0026] Each icon, as shown in Figure 3(a), is labeled with the name of the function it corresponds to. However, this is not the only requirement; each icon only needs to have something indicating the function it corresponds to. For example, each icon may have a thumbnail indicating the function it corresponds to. Alternatively, each icon may have both the name of the function it corresponds to and a thumbnail indicating that function. Furthermore, the things that correspond to each icon are not limited to the functions of the image processing device 1. Content may be associated with at least some of the icons, or content with a function may be associated with at least some of the icons. Regardless of what is associated with each icon, multiple icons can be placed on each page.
[0027] The home screen 318 contains multiple icons included on the page, as well as a home icon 317 located in the upper left corner of the home screen 318. The home icon 317 indicates that the home screen 318 is the home screen. The upper right area 319 of the home screen 318 displays "User A" as an example of the name of the currently logged-in user. For example, if area 319 is pressed by a user, the image processing device 1 will be logged out, but the image processing device 1 may also be logged out by other user actions (for example, pressing a logout button (not shown)).
[0028] A slider bar 321 is located at the bottom of the home screen 318. When the user slides the slider bar 321 left or right, the page displayed in the icon area 300 switches to the previous or next page.
[0029] Additionally, left-pointing arrow icons 320 and right-pointing arrow icons 322 are positioned to the left and right of the slider bar 321. By pressing the left-pointing arrow icon 320 or the right-pointing arrow icon 322 through user operation, the page displayed in the icon area 300 will switch to the previous or next page.
[0030] Furthermore, the page displayed in the icon area 300 may also switch to the previous or next page when the user flicks the icon area 300 left or right.
[0031] When a page is switched, one or more icons assigned to the newly displayed page are read from the HDD 103 by the processor 100. As a result, one or more icons assigned to that page are placed on the newly displayed page.
[0032] For example, when the first page 341 is displayed, if the user slides the left-aligned slider bar 321 to the right, the page will switch and the second page 342 will be displayed. Also, when the first page 341 is displayed, if the user presses the right-facing arrow 322, the page will switch and the second page 342 will be displayed. Furthermore, when the first page 341 is displayed, if the user flicks the icon area 300 to the right, the page will switch and the second page 342 will be displayed.
[0033] Figure 3(b) shows an example of the home screen 318 displaying the second page 342 in the icon area 300. Icons 331 through 335 are placed on the second page 342.
[0034] Figure 4(a) shows the state in which the context menu 330 is superimposed on the home screen 318 when the icon 303, which is associated with the scan and send function, is long-pressed by the user. However, the context menu 330 is also superimposed on the home screen 318 when any other icon is long-pressed by the user.
[0035] When the "Open" button 331 included in the context menu 330 is pressed, the context menu 330 disappears, and the function associated with the icon that was long-pressed before the context menu 330 was displayed is activated. Also, when the "Move Icon" button 332 included in the context menu 330 is pressed, the context menu 330 disappears, and the image processing device 1 enters the icon display position change processing mode. In the icon display position change processing mode, the user can move icons using the operations shown below. Then, to let the user know that the image processing device 1 has entered the icon display position change processing mode, the home screen 318 transitions as shown in Figure 5(a).
[0036] The home screen 318 shown in Figure 5(a) displays guidance 340 indicating that the system has entered the icon position change processing mode, and an "Finish" button 341 for confirming the destination of the icons. Guidance 340 includes a message indicating that the user can change the layout of icons on the page by moving the icons selected by the user. The message is, for example, "You can move icons by dragging and dropping them. Press the 'Finish' button to confirm the destination." as shown in Figure 5(a).
[0037] In the home screen 318 shown in Figure 5(a), the long-pressed icon is displayed in a way that distinguishes it from other icons as the icon that can be directly moved. In the example in Figure 5(a), the long-pressed icon 303 is displayed in inverted black and white. However, the user may also long-press an icon other than the one that was long-pressed at this stage to select it as the icon that can be directly moved. In the example in Figure 5(a), for example, by long-pressing the icon 302 associated with the facsimile function, the icon that is displayed in inverted black and white may be switched from icon 303 to icon 302. In other words, the icon that can be directly moved may be switched from icon 303 to icon 302.
[0038] This allows the user to recognize the icon they want to move directly, press that icon with an object like their actual finger, and then drag the icon to its destination while maintaining the press.
[0039] Then, the user releases the click on the icon that is directly being moved at the destination. It becomes possible to insert the directly moved icon into such a destination.
[0040] The image processing device 1 may enter the icon display position change processing mode without displaying the context menu 330. For example, the image processing device 1 may enter the icon display position change processing mode if the icon is pressed for a predetermined time or longer.
[0041] Figure 6(a) shows the state of the home screen 318 when an icon that is directly to be moved has been moved to the vicinity of its destination. In the example shown in Figure 6(a), the icon 303 that is directly to be moved has been dragged to the vicinity of the boundary between the icon 313 associated with personal settings and the icon 314 associated with volume settings (i.e., it has been moved). Accordingly, a vertical bar mark 350 is displayed at the boundary between icon 313 and icon 314 to indicate that this boundary is the destination (the current insertion candidate area).
[0042] As shown in Figure 6(a), when icon 300, which is in a drag state between icon 313 and icon 314, is dropped, the icon arrangement shown in Figure 3(a) transitions to the arrangement shown in Figure 7(a). Icon 303, which was between icon 302 and icon 304 in the arrangement shown in Figure 3(a), is inserted between icon 313 and icon 314 in the arrangement shown in Figure 7(a). Also, the positions of icon 304 to icon 313 in the arrangement in Figure 7(a) are shifted up by one in the Z-shaped arrangement compared to the positions of icon 304 to icon 313 in the arrangement in Figure 3(a).
[0043] Here, we will explain using the example of moving icons in a Z-shaped array.
[0044] The manner in which icons move in a Z-shaped array differs depending on the relationship between the icon's position before and after the move. First, let's explain the case where the icon's position after the move is backward relative to its position before the move in the Z-shaped array. This is the case when, for example, icon 303, which is between icon 302 and icon 304, is moved between icon 313 and icon 314. If we consider the top row of the icon area 300 as the 1st row and the next row as the 2nd row, the icon placed in the leftmost position in the 2nd row moves to the rightmost position in the 1st row. Similarly, the icon placed in the leftmost position in the 3rd row moves to the rightmost position in the 2nd row. In other words, the icon placed in the leftmost position of a given row moves to the rightmost position of the row before (above) that row. In other words, the icon placed in the leftmost position of a given row moves to the upper right. Icons placed in any other position move to the position of the icon one position to the left.
[0045] Next, we will explain the case where the position of an icon after movement is forward relative to its position before movement. This case is, for example, when icon 314, which is between icon 313 and icon 315, is moved between icon 301 and icon 302. An icon placed at the far right position in the first row of the icon area 300 moves to the far left position in the second row. Similarly, an icon placed at the far right position in the second row moves to the far left position in the third row. In other words, an icon placed at the far right of a given row moves to the far left position of the next (down) row. That is, an icon placed at the far right of a given row moves to the lower left. Icons placed in any other position move to the position of the icon one position to the right.
[0046] In Figure 7, a single page can contain rows 1 through 5, with 3 icons in each row. This means a maximum of 15 icons can be placed on a single page. However, the page configuration is not limited to this. A single page may contain 6 or more rows, or have 3 or more icons in each row. Even with such configurations, the movement of icons in a Z-shaped arrangement (movement in the Z-direction) remains the same as described above.
[0047] Figure 8 shows the home screen 318 that is displayed after the icon display position change processing mode ends when the exit button 341 is pressed in the state shown in Figure 7 (icon display position change processing mode).
[0048] Figure 12 is a diagram illustrating the data structure that manages the display position of icons on the home screen 318.
[0049] The image processing device 1 manages the display positions of icons on the home screen 318 using a display order array 1203, which is a one-dimensional array.
[0050] Since a total of 30 icons can be placed on page 1 (341) and page 2 (342), a one-dimensional array A[1:30] is assigned to 30 individual areas for placing icons. This one-dimensional array A[1:30] is the display order array 1203.
[0051] As shown in Figures 12(a) and 12(b), the elements A[1], A[2], ..., A
[30] of the one-dimensional array A[1:30] correspond to individual regions arranged in a Z-shape across the first and second pages. In other words, elements A[1], A[2], ..., A
[15] are assigned to 15 individual regions arranged in a Z-shape on page 341 of the first page. Similarly, elements A
[16] , A
[17] , ..., A
[30] are assigned to 15 individual regions arranged in a Z-shape on page 342 of the second page.
[0052] As shown in Figures 12(a) and 12(b), the numerical values (icon numbers) 1 to 3, which identify the three icons placed in the first to third individual areas at the top of page 341, are sequentially assigned as the values of the first three elements of the display order array A[1:30]. That is, the assignments A[1]=1, A[2]=2, and A[3]=3 are performed. Next, the numerical values 4 to 15, which identify the twelve icons placed in the fourth to fifteenth individual areas of the second to fifth rows of page 341, are sequentially assigned as the values of the fourth to fifteenth elements of the display order array A[1:30]. That is, the assignments A[4]=4, A[5]=5, ..., and A
[15] =15 are performed. Next, the numerical values 16 to 20, which identify the five icons located in the 16th to 20th individual areas at the top of page 2, 342, are sequentially assigned as the values of the 16th to 20th elements of the display order array A[1:30]. That is, the assignments A
[16] =16, A
[17] =17, ..., A
[20] =20 are performed. In the example in Figure 3, the assignments are now complete, resulting in A
[21] =0, A
[22] =0, ..., A
[30] =0. However, if there are 15 icons on page 2, the assignments A
[21] =21, A
[22] =22, ..., A
[30] =30 are also performed.
[0053] In the examples shown in Figures 12(a) to 12(c), the numerical values 1 to 20 are stored in A[1] to A
[20] of the display order array 1203, respectively. This indicates that icons identified by the numerical values 1 to 20 are placed in the first individual area to the 20th individual area. The icons identified by the numerical values 1 to 15 are icons 301 to 315 on the first page 341 of the home screen 318 shown in Figure 3(a). The icons identified by the numerical values 16 to 20 are icons 331 to 335 on the second page 342 of the home screen 318 shown in Figure 3(b). The value 0 stored in A
[21] to A
[30] of the display order array 1203 means that no icons are placed in the 21st individual area to the 30th individual area.
[0054] The numbers 1 through 20 used to identify each icon are merely examples, and other numbers may be used. Furthermore, information other than numbers may be used to identify each icon, as long as it allows for the identification of each individual icon.
[0055] When changing the position of an icon, if the speed at which the position of icons other than the direct target of movement (a predetermined icon) is changed is greater than a predetermined speed, it may be difficult to visually observe the movement of the icons other than the predetermined icon. This is especially true when there are many icons displayed on a single screen, making it difficult to visually see how the icons' positions have changed before and after the icon movement.
[0056] Therefore, in this embodiment, when a predetermined icon is dragged and dropped, a display process is executed that changes the animation speed of the icons to be rearranged (moved) based on the distance moved by at least one of the icons to be rearranged (moved).
[0057] Figure 13 is a flowchart of the processing when an icon is pressed in the image processing device 1 in this embodiment. The program in this embodiment is stored in the HDD 103 of the image processing device 1, read into the RAM 102, and executed by the processor 100. When a user operates the operation unit 12, information such as the coordinate position on the screen where the operation was performed and the content of the operation, such as touch, release, long press, flick, drag, etc., is transmitted to the control unit 10. If the received information is information about a predetermined operation on the icon area, the control unit 10 executes a program to perform the method shown in the flowchart of Figure 13. In other words, the method shown in the flowchart of Figure 13 is started based on the fact that a predetermined operation has been performed on the operation unit 12 by the user. In this embodiment, the action of a user's finger or other object that was not in contact with the operation unit 12 coming into contact with the operation unit 12 is called a "touch". The action of a user's finger or other object transitioning from a state of contact with the operation unit 12 to a state of non-contact is called a "release". Furthermore, a combination of "touch" and "release" at the same coordinate on the screen is called a "press".
[0058] In step S1301, the processor 100 determines whether the user's operation on the icon was a long press. If the result of the determination in S1301 is YES, the processor 100 proceeds to step S1302; if the result of the determination in S1301 is NO, the process proceeds to step S1303. Hereafter, "step S~" will be abbreviated as "S~".
[0059] In S1302, processor 100 displays context menu 330.
[0060] In S1303, the processor 100 executes the corresponding process for the pressed icon. Note that this process is not directly related to this embodiment, so its explanation is omitted.
[0061] In S1304, if the processor 100 detects that the "Move Icon" button 332 has been pressed, it closes the context menu 330 and proceeds to S1305. The processor 100 then executes a control method which is a method for changing the display position of the icon (also called the "icon display position change process"). On the other hand, if the processor 100 detects that the "Open" button 331 has been pressed, it closes the context menu 330 and proceeds to S1303 to execute the corresponding process. If the processor 100 detects a press of any other button, it proceeds to S1306 and closes the context menu 330.
[0062] The control method performed in S1305 will be explained below using Figures 5 to 11 and Figure 14. Figures 5 to 11 are diagrams illustrating the control method on the home screen. Figure 14 is a flowchart showing how to change the icon display position.
[0063] First, in S1401, the processor 100 generates a copy of the display order array 1203 shown in Figure 12(c) and temporarily stores it in the RAM 102.
[0064] In S1402, the processor 100 sets the page number on which the icon determined to have been long-pressed in S1301 was displayed as the initial value of the parameter p (referred to as the target page number p) which indicates the target page for setting the display position.
[0065] In S1403, the processor 100 displays a home screen 318 containing the page indicated by the target page number p. The home screen 318 displayed in S1403 also displays guidance 340 and an "Exit" button 341, as shown in Figure 5. This allows the user to recognize that the control method is currently being implemented. Furthermore, if the user proceeds from S1402 to S1403, the home screen 318 containing the page where the icon determined to have been long-pressed in S1301 was displayed will be displayed, according to the initial value of the target page number p. However, if the user proceeds to S1403 from another step, such as S1406 (described later), the target page number p may not remain at its initial value.
[0066] In S1404, the processor 100 determines whether the exit button 341 has been pressed. If the result of the determination in S1404 is YES, the processor 100 proceeds to S1427. On the other hand, if the result of the determination in S1404 is NO, the processor 100 proceeds to S1405.
[0067] In S1427, the processor 100 overwrites the original display order array 1203 with a copy of the display order array generated in S1401, and terminates the method of changing the display position. If S1427 is performed after S1423, which is described below, the order of the numbers indicating the icons in the display order array 1203 is rearranged.
[0068] In S1405, the processor 100 determines whether a page switching operation has been performed. In the image processing device 1 of this embodiment, if a flick or drag operation is performed from left to right on the blank space between icons, the page displayed on the home screen 318 can be switched to the previous page according to that operation. Also, if a flick or drag operation is performed from right to left, the page displayed on the home screen 318 can be switched to the next page according to that operation. If the result of the determination in S1405 is YES, the processor 100 proceeds to S1406. On the other hand, if the result of the determination in S1405 is NO, the processor 100 proceeds to S1407.
[0069] In S1406, the processor 100 changes the target page for setting the icon's display position to the page immediately preceding or succeeding the current page. Specifically, the processor 100 adds 1 to the value of the target page number p, or subtracts 1 from the value of p.
[0070] In S1407, the processor 100 determines whether a drag operation has occurred on the icon. If the result of the determination in S1407 is YES, the processor 100 proceeds to S1408. On the other hand, if the result of the determination in S1407 is NO, the process returns to S1403.
[0071] Icons that have been detected as being dragged in S1407 are the icons that will be moved again by user action.
[0072] In S1408, the processor 100 sets the page number where the icon that was determined to have been dragged in S1407 was displayed as the target page number p.
[0073] In S1409, the processor 100 determines whether the drag position (i.e., the position of the dragged icon) has changed. If the result of the determination in S1409 is YES, the processor 100 proceeds to S1410. On the other hand, if the result of the determination in S1409 is NO, the processor 100 returns to S1403. Therefore, even if the user continues to press the icon, the icon movement process ends once the user stops moving it.
[0074] In S1410, processor 100 is responsible for drawing the icon being dragged.
[0075] In S1411, the processor 100 determines whether the user has performed a page switching operation while dragging the icon. In the image processing device 1 of this embodiment, if the icon is pressed down by the user's finger or the like and pauses in the blank space at the left edge of the icon area 300, the page displayed in the icon area 300 can be switched to the previous page. Also, if the icon is pressed down by the user's finger or the like and pauses in the blank space at the right edge of the icon area 300, the page displayed in the icon area 300 can be switched to the next page. If the result of the determination in S1411 is YES, the processor 100 proceeds to S1412. On the other hand, if the result of the determination in S1411 is NO, the processor 100 proceeds to S1413.
[0076] In S1412, the processor 100 changes the target page for setting the icon's display position to the page immediately preceding or succeeding the current page. Specifically, the processor 100 adds 1 to the value of the target page number p, or subtracts 1 from the value of p.
[0077] In S1413, the processor 100 displays the home screen 318 containing the page indicated by the target page number p, similar to S1403, and then returns processing to S1409.
[0078] In S1414, the processor 100 determines whether the dragged icon has been released. If the result of the determination in S1414 is YES, the processor 100 proceeds to S1415. On the other hand, if the result of the determination in S1414 is NO, the processor 100 proceeds to S1416.
[0079] In S1415, the processor 100 obtains the coordinates of the top-left corner of the released icon and temporarily stores them in RAM 102.
[0080] In S1416, the processor 100 calculates the value of the insertion candidate area of the icon being dragged. For example, consider the case where the insertion candidate area is in the following position on page 1, 341 of Figure 12(a). That is, the insertion candidate area is within the range of values indicating the bottom row of icon areas (13th individual area to 15th individual area), and the horizontal position of the insertion candidate area is to the right of the center of the 13th individual area and to the left of the center of the 14th individual area. In this case, the value of the insertion candidate area is between the value of the 13th individual area (=13) and the value of the 14th individual area (=14), so the value of the insertion candidate area is set to 13.5. If the value of the insertion candidate area does not belong to any of the ranges of values indicating the icon areas, the calculation of the value of the insertion candidate area is invalid. In this case, the value of the insertion candidate area is set to 0. Furthermore, if the absolute difference between the value of the area where the user touched the icon before moving it (referred to as the "selected area" or "individually selected area") and the value of the insertion candidate area does not exceed 1, the calculation of the value of the insertion candidate area is invalid, and the value of the insertion candidate area becomes 0. Here, if the icon detected to have been long-pressed in S1301 is dragged even after the context menu 330 disappears, the selected area is the area where that icon was located at that time. Also, if the dragging of another icon is newly detected in S1407, the selected area is the area where that icon was located at that time. The selected area corresponds to the source position of the icon that was dragged and dropped (also called a "move operation") by the user. The value of the insertion candidate area obtained in S1416, which was the last execution before the YES determination in S1414, corresponds to the destination position of the icon that was dragged and dropped by the user.
[0081] In S1417, the processor 100 determines whether the calculation of the value of the insertion candidate area is valid (i.e., whether the value of the insertion candidate area is non-zero). If the result of the determination in S1417 is YES, the processor 100 proceeds to S1418. On the other hand, if the result of the determination in S1417 is NO, the processor 100 returns to S1409.
[0082] In S1418, the processor 100 determines whether the value of the insertion candidate area has changed. Specifically, the processor 100 determines that the value of the insertion candidate area has changed if the insertion candidate area indicated by the insertion location displayed in the most recently executed S1420 (described below) is different from the insertion candidate area indicated by the value of the insertion candidate area obtained in the most recently executed S1416. The processor 100 also determines that the value of the insertion candidate area has changed if step S1420 has not been executed even once for the icon currently being dragged. If the result of the determination in S1418 is YES, the processor 100 proceeds to S1419. On the other hand, if the result of the determination in S1418 is NO, the processor 100 returns to S1409.
[0083] In S1419, the processor 100 performs the process of selecting (identifying) the icons to be sorted. Details of the process of selecting the icons to be sorted will be described later (see Figure 15).
[0084] In S1420, the processor 100 displays a mark to indicate to the user the insertion location of the icon being dragged. In this embodiment, a vertical bar is displayed as the mark indicating the insertion location. Figure 6 shows the vertical bar 350 displayed in S1420.
[0085] In S1421, the processor 100 calculates the value of the release area. The specific process is the same as in S1416, so a redundant explanation is omitted.
[0086] In S1422, the processor 100 determines whether the calculation result of the release area value is valid. If the result of the determination in S1422 is YES, the processor 100 proceeds to S1423. On the other hand, if the result of the determination in S1422 is NO, the processor 100 returns to S1403. Therefore, even if the value of the insertion candidate area is valid for the dragged icon, if the value of the release area is not valid, the method for changing the icon display position is canceled.
[0087] In S1423, the processor 100 updates a copy of the display order array 1203 generated in S1401 based on the value of the selected region and the value of the latest insertion candidate region. Details of S1423 will be described later (see Figure 17).
[0088] In S1424, the processor 100 calculates the movement distance of each icon to be sorted, which was obtained in S1419. Then, the processor 100 determines the smallest of these movement distances as the common movement distance for all icons to be sorted (referred to as the "common movement distance"). Details of the process for calculating the movement distance of the icons to be sorted will be described later (Figure 18).
[0089] In S1425, the processor 100 determines the animation speed of the icons selected for sorting in S1419 based on the common movement distance calculated in S1424.
[0090] Here, as shown in Figure 19, a speed table 1901 is pre-stored in the HDD 103 or the like, which holds the correspondence between the icon's movement distance length [pixels] and the icon's movement speed V [pixels / frame]. Here, the icon's movement distance is the minimum movement distance among the movement distances of each icon that is to be sorted, as will be described later. The icon's movement speed is the movement speed corresponding to the movement distance. The processor 100 refers to the speed table 1901 to obtain the common movement speed (movement distance per frame) corresponding to the minimum movement distance. The speed table 1901 shown in Figure 19 will be explained below.
[0091] In the speed table 1901, the movement distance length[pixel]1901 for each icon to be sorted is set to one of six ranges: 100 or less, 101 to 150, 151 to 200, 201 to 250, 251 to 300, and 301 or more.
[0092] The movement speed V[pixel / frame]1903 of the icons to be sorted is set to decrease as the distance the icon moves decreases.
[0093] For example, if the icon's movement distance length is 80 pixels, the icon's movement speed V is 20 pixels per frame. By slowing down the icon's movement speed as the distance moved is small, the user can more easily understand the progress of the icon's movement. If the icon's movement speed were constant, the shorter the distance moved, the shorter the time the icon is moving, and the user might overlook the movement. As in this embodiment, by decreasing the icon's movement speed as the distance moved is small, the time the icon is moving does not shorten even if the distance moved is small. Therefore, it is possible to avoid the user overlooking the icon's movement. Furthermore, even if the distance moved is small, the user can still visually confirm how the icon's position has changed.
[0094] In S1426, the processor 100 does the following: it displays a video in the icon area 300 showing each icon selected as to be sorted in S1419 moving from its original position to its new position according to a Z-shaped array at the speed determined in S1425. After that, the processor 100 returns to processing in S1403. Here, when we say that the icons move according to a Z-shaped array, it means that the icons move while changing their position one by one in the Z-shaped array.
[0095] <Flowchart for selecting icons to sort> The process of selecting icons to be sorted, which is performed in S1419, will be explained below using Figures 15 and 16. Figure 15 is a detailed flowchart of the process of selecting icons to be sorted in S1419. Figure 16 is a diagram showing an example of the data structure that holds the information of the icons to be sorted, which is generated in the process of selecting icons to be sorted.
[0096] First, let's explain using Figure 16. As shown in Figure 16, the information icon (code 1601) of the icons to be sorted includes the number of icons to be sorted, num (code 1602). The information icon (code 1601) of the icons to be sorted also includes list[0] to list[num-1], which are lists (code 1603) of individual regions where the icons to be sorted are placed. Each member list[j] that makes up the list (code 1603) stores information 1604 for identifying the individual region where each icon to be sorted is placed. The information 1604 for identifying the individual region is, for example, the region number, as shown in Figure 16. list[0] to list[9] store the individual region numbers from 4 to 13. Here, the individual region number is the same as the element number in the display order array 1203. For example, list[0]=4 indicates that the individual region where the zeroth icon to be sorted is stored is the fourth individual region. In other words, the 0th icon to be sorted is identified by the fourth individual region in which it exists.
[0097] Next, we will explain the flowchart in Figure 15.
[0098] First, in S1501, the processor 100 determines the relative size of the value of the selected region and the value of the insertion candidate region. If the value of the selected region is smaller than the value of the insertion candidate region, the processor 100 proceeds to S1502. On the other hand, if the value of the selected region is greater than or equal to the value of the insertion candidate region, the processor 100 proceeds to S1508. Here, the value of the selected region is the same as the element number of the selected region (individually selected region) in the display order array 1203. The value of the insertion candidate region is the value between the element numbers of the two individual regions on either side of the insertion candidate region in the display order array 1203, and is, for example, the average value of the two, as described above.
[0099] In S1502-S1504, the processor 100 initializes itself to execute the process of selecting icons to be sorted if the value of the insertion candidate area is greater than the value of the selected area.
[0100] In S1502, the processor 100 sets the parameter `start`, which indicates the starting position for selecting the icons to be sorted, to the value of the selection area + 1.
[0101] In S1503, the processor 100 sets the value of the insertion candidate area, with the decimal part truncated, as the parameter `end`, which indicates the end position of the selection process for the icons to be sorted.
[0102] In S1504, processor 100 sets the initial value of index i for subsequent processing to start, and sets the initial value of index j to 0. Here, i is the number of an individual area. j is the number assigned to each icon to be sorted, but it is used to identify which icon is being sorted and is different from a number used to identify an icon independently of the individual area in which the icon exists.
[0103] In S1505, processor 100 sets i to the sorting candidate area information list[j]. In other words, for each icon to be sorted, it sets the number of the individual area where that icon is located.
[0104] In S1506, processor 100 adds 1 to index i and index j, respectively.
[0105] In S1507, the processor 100 determines whether the current i is less than or equal to the end set in S1503. If the result of the determination in S1507 is YES, the processor 100 returns to processing S1505. On the other hand, if the result of the determination in S1507 is NO, the processor 100 proceeds to processing S1514.
[0106] As described above, the process of selecting icons to be sorted is performed when the value of the insertion candidate area is greater than the value of the selected area. In other words, the icons to be sorted are selected based on the number of the area in which the icon is located.
[0107] In S1508~S1510, the processor 100 initializes itself to execute the process of selecting icons to be sorted if the value of the insertion candidate area is less than or equal to the value of the selected area.
[0108] In S1508, the processor 100 sets the value of the insertion candidate area, rounded up to the nearest whole number, as the parameter `start`, which indicates the starting position for selecting the icons to be sorted.
[0109] In S1509, the processor 100 sets the parameter `end`, which indicates the end position of the selection process for the icons to be sorted, to the value of the selection area minus 1.
[0110] In S1510, processor 100 sets the initial value of index i to start and the initial value of index j to 0.
[0111] In S1511, processor 100 sets i to the region information list[j] of the sorting candidates. In other words, for each icon to be sorted, it sets the number of the region where that icon is located.
[0112] In S1512, processor 100 adds 1 to index i and index j, respectively.
[0113] In S1513, the processor 100 determines whether the current i is less than or equal to the end set in S1503. If the result of the determination in S1513 is YES, the processor 100 returns to processing in S1511. On the other hand, if the result of the determination in S1513 is NO, the processor 100 proceeds to processing in S1514.
[0114] As described above, the process of selecting icons to be sorted is performed when the value of the insertion candidate area is less than or equal to the value of the selected area. In other words, the process of selecting icons to be sorted is performed based on the number of the area in which the icon is located.
[0115] In S1514, the processor 100 sets the current j as the number of icons to be sorted, num (code 1602), and terminates the process of selecting the icons to be sorted.
[0116] The process described above derives the icons to be sorted. In other words, the icons to be sorted are selected based on the number of the area in which they are located.
[0117] Let's explain with a concrete example. As shown in Figure 4, long-press icon 303 located in the third individual area, and then, as shown in Figure 6, drop icon 303 between icons 313 and 314. In this case, icons from the fourth individual area to the thirteenth individual area are selected as the icons to be sorted. Accordingly, the number of icons num included in information icon and list[0] to list[9] will have the values shown in Figure 16.
[0118] <Flowchart for updating the duplicate display order array> The process of updating the duplicate of the display order array 1203, which is performed in S1423 of Figure 14, will be explained below using the detailed flowchart in Figure 17.
[0119] In S1701, the processor 100 temporarily stores the number of the icon in the selected area in RAM 102. Here, if the icon that was detected to have been long-pressed in S1301 is dragged even after the context menu 330 disappears, the selected area is the area where that icon was located at that time. Also, if the dragging of another icon is newly detected in S1407, the selected area is the area where that icon was located at that time. For example, in the case of screen 323 in Figure 6, the processor 100 temporarily stores the number 3, which is the number of icon 303 in the third individual area, in RAM 102.
[0120] In S1702, the processor 100 determines the relationship between the value of the selected area and the value of the icon insertion area. If the value of the selected area is smaller than the value of the insertion candidate area, the processor 100 proceeds to S1703. On the other hand, if the value of the selected area is greater than or equal to the value of the insertion candidate area, the processor 100 proceeds to S1709.
[0121] In S1703 to S1705, the processor 100 performs initialization to execute the update process for the copy of the display order array 1203 when the value of the insertion area is greater than the value of the selected area.
[0122] In S1703, the processor 100 sets the value of the selected region as the parameter `start`, which indicates the starting position for updating the copy of the display order array 1203.
[0123] In S1704, the processor 100 sets the parameter `end`, which indicates the end position of the update process for the copy of the display order array, to a value obtained by truncating the decimal part of the value of the insertion area and then subtracting 1.
[0124] In S1705, processor 100 sets the initial value of index i to start.
[0125] In S1706, the processor 100 sets the number of the icon in area (i+1) in the copy of the display order array 1203 as the number of the icon in area i. That is, if each element of the copy of the display order array 1203 is represented by A[i], the processor 100 performs the assignment operation A[i]=A[i+1]. For example, if icon 303, which is in the third individual area as shown in Figure 4, is dropped between the thirteenth and fourteenth individual areas as shown in Figure 6, icon 303 moves from the third individual area to the thirteenth individual area. Then, icon 304, which is numbered 4, moves from the fourth individual area to the third individual area. In this case, first, 4, which is stored in A[4] of the copy of the display order array 1203, is assigned to A[3] of the copy of the display order array 1203.
[0126] In S1707, processor 100 adds 1 to index i.
[0127] In S1708, the processor 100 determines whether index i is less than or equal to the parameter end, which indicates the end position of the update process for the copy of the display order array 1203. If the result of the determination in S1708 is YES, the processor 100 returns to processing in S1706. This is repeated until the result of the determination in S1708 is NO. In the example above, the icons 304 numbered from 5 to 13 move from the 4th individual area to the 12th individual area. Accordingly, the value of i stored in A[i+1] (i=5~13) of the copy of the display order array 1203 is assigned to A[i] of the copy of the display order array 1203.
[0128] If the result of the S1708 check is NO, the processor 100 proceeds to S1716.
[0129] In steps S1709 to S1711, the processor 100 performs initialization to execute the update process for the copy of the display order array when the value of the insertion area is less than or equal to the value of the selected area.
[0130] In S1709, the processor 100 sets the value of the selected region as the parameter `start`, which indicates the starting position for updating the copy of the display order array 1203.
[0131] In S1710, the processor 100 sets the parameter `end`, which indicates the end position of the update process for the copy of the display order array 1203, to a value obtained by rounding up the decimal part of the value of the insertion area and then adding 1.
[0132] In S1711, processor 100 sets the initial value of index i to start.
[0133] In S1712, the processor 100 sets the number of the icon in area (i-1) in the copy of the display order array 1203 as the number of the icon in area i. That is, if the copy of the display order array 1203 is represented by A[i], the processor 100 performs the assignment operation A[i]=A[i-1]. For example, if the "Language Switching" icon 332 in the 17th individual area on page 2, 342 is dropped between the 14th and 15th individual areas as shown in Figure 9, the icon 332 moves from the 17th individual area to the 15th individual area. This is shown in Figures 10 and 11. Then, the "Status Check" icon 331, which is numbered 16, moves from the 16th individual area to the 17th individual area. In this case, first, 16 stored in A
[16] of the copy of the display order array 1203 is assigned to A
[17] of the copy of the display order array 1203.
[0134] In S1713, processor 100 subtracts 1 from index i.
[0135] In S1714, the processor 100 determines whether index i is greater than or equal to the parameter end, which indicates the end position of the update process for the copy of the display order array. If the result of the determination in S1714 is YES, the processor 100 returns to processing in S1712. This is repeated until the result of the determination in S1714 is NO. In the example above, the icon 304, which is numbered 15, moves from the 15th individual area to the 16th individual area. Accordingly, 15, which is stored in A
[15] of the copy of the display order array 1203, is assigned to A
[16] of the copy of the display order array 1203.
[0136] If the result of the S1714 judgment is NO, the processor 100 proceeds to S1715.
[0137] In S1715, the processor 100 sets the number of the icon temporarily stored in RAM 102 in S1701 as the value of A[i] in the copy of the display order array 1203. Here, when the process proceeds to S1715, the value of i is end. end is set in S1704 or S1710 as the number of the individual area to which the icon dragged and dropped by the user is moved. Therefore, in S1715, the icon dragged and dropped is placed in the destination area. In the example above, this setting is made by assigning 17, the number of the "language switching" icon 332 located in the 17th individual area, to A
[15] .
[0138] <Flowchart for calculating the distance traveled by icons> The process for calculating the movement distance of the icons to be sorted in S1424 will be explained below using Figure 18.
[0139] In S1801, the processor 100 obtains list[0] to list[num-1], which are lists (code 1603) of individual areas where the icons to be sorted are located. As mentioned above, these were generated in the icon selection process in S1419. This list identifies the number of icons to be sorted, and also identifies the icons to be sorted by the number of the individual area where they are located.
[0140] In S1802, the processor 100 compares the value of the selected area with the value of the icon area of the insertion candidate, similar to S1501. If the value of the selected area is smaller than the value of the insertion candidate area, the processor 100 proceeds to S1803; otherwise, it proceeds to S1804. For example, if the "Scan and Send" icon 303, which was between icon 302 and icon 304, is inserted between icon 313 and icon 314 as shown in Figure 6, the processor 100 proceeds to S1803. Also, for example, if the "Language Switching" icon 332, which was between icon 331 and icon 333, is inserted between icon 314 and icon 315 as shown in Figure 9, the processor 100 proceeds to S1804.
[0141] In S1803, processor 100 calculates the movement distance for all icons that are to be sorted based on list[0] to list[num-1].
[0142] The list[j] corresponding to the j-th icon to be sorted stores the number i of the individual region where the j-th icon resides. If the value of the selected region is smaller than the value of the insertion candidate region, the j-th icon moves from the region with number i to the region with number (i-1). In other words, if the value of the selected region is smaller than the value of the insertion candidate region, the j-th icon moves to the individual region with a number one less.
[0143] We will calculate the distance each icon moves in this movement. Specifically, we will calculate the distance each icon moves as follows: Let (X1, Y1) be the top-left coordinate of the individual region where the icon with number i is located before the movement, and (X2, Y2) be the top-left coordinate of the individual region where the icon with number (i-1) is located after the movement. The distance an icon moves is approximately equal to the distance L between coordinates (X1, Y1) and coordinates (X2, Y2). Here L = √(|X² - X1|^2 + |Y² - Y1|^2) That is the case.
[0144] Here, the individual number i of the area before the move is stored as the value in list[j]. Also, list[j]-1 is the number of the individual area after the move (i-1). Furthermore, the top-left coordinates of each individual area are known in advance according to the individual area number. Therefore, the movement distance of the j-th icon to be rearranged can be calculated based on the value i in list[j].
[0145] In S1804, processor 100 calculates the movement distance for all icons that are to be sorted based on list[0] to list[num-1].
[0146] The list[j] corresponding to the j-th icon to be sorted stores the number i of the individual area where the j-th icon resides. If the value of the selected area is greater than or equal to the value of the insertion candidate area, the j-th icon moves from the individual area with number i to the individual area with number (i+1). In other words, if the value of the selected area is greater than or equal to the value of the insertion candidate area, the j-th icon moves to the individual area with the number one higher.
[0147] We will calculate the distance each icon moves in this movement. Specifically, we will calculate the distance each icon moves as follows: Let (X1, Y1) be the top-left coordinate of the individual region where the icon with number i is located before the movement, and (X2, Y2) be the top-left coordinate of the individual region where the icon with number (i+1) is located after the movement. The distance an icon moves is approximately equal to the distance L between coordinates (X1, Y1) and coordinates (X2, Y2). Here L = √(|X² - X1|^2 + |Y² - Y1|^2) That is the case.
[0148] Here, the number i of the individual region before movement is stored as the value in list[j]. Also, list[j]+1 is the number (i+1) of the individual region after movement. Furthermore, the top-left coordinates of each individual region are known in advance according to the individual region number. Therefore, the movement distance of the j-th icon to be rearranged can be calculated based on the value i in list[j].
[0149] If the processor 100 proceeds from S1803 to S1805, it compares the movement distances of all icons to be sorted, calculated in S1803, and stores the shortest movement distance in RAM 102. Similarly, if the processor 100 proceeds from S1804 to S1805, it compares the movement distances of all icons to be sorted, calculated in S1804, and stores the shortest movement distance in RAM 102.
[0150] <Screen displayed after inserting the icon, and the screen after pressing the exit button 341> Figure 7 shows the result of inserting the "Scan and Send" icon 303 between the "Personal Settings" icon 313 and the "Volume Settings" icon 314 in the state of screen 323 in Figure 6. Figure 8 shows the screen displayed when the exit button 341 is pressed afterwards. When icon 303 is inserted between icon 313 and icon 314 in the state of screen 323 in Figure 6, the following rearrangement is performed. That is, the icons to be rearranged, selected in S1419 executed immediately before insertion, are rearranged in the duplicate of the display order array 1203 in S1423. Then, S1424 to S1426 are executed. As a result, the icons to be rearranged in the icon area 300 move at the speed determined in S1425 to the position according to the duplicate of the rearranged display order array 1203. As a result, the icon area 300 becomes as shown in Figure 7.
[0151] In comparison with the icon area 300 shown in Figure 3, in the icon area 300 shown in Figure 7, icons 304 to 313 have moved to individual areas with a number one smaller, and icon 303 has moved from the third individual area to the thirteenth individual area.
[0152] When the exit button 341 displayed on the home screen 319 shown in Figure 3 is pressed, a YES determination is made in S1404, and in S1427, the existing display order array is overwritten by a copy of the display order array updated in S1423. The processor 100 also updates the home screen 318 as shown in Figure 8.
[0153] Similarly, Figure 10 shows screens 323 and 324 after the "Language Switching" icon 332 is inserted between the "Volume Settings" icon 314 and the "Brightness Adjustment" icon 315 when screen 323 is in the state shown in Figure 9. Note that screen 324 shows the screen after the page in screen 323 has been changed to the next page.
[0154] Figure 11 shows the home screen 318 after the exit button 341 is pressed.
[0155] In comparison with the icon area 300 shown in Figure 3, in the icon area 300 shown in Figure 11, icons 313 and 315 have moved to individual areas with a number one higher, and icon 332 has moved from individual area 17 to individual area 15. Therefore, in this case, pages 1 and 2 are updated.
[0156] In this embodiment, the image processing device 1 changes the animation speed of the icons to be rearranged based on the distance moved by the icons other than the predetermined icon that was dragged and dropped. Therefore, even when the distance moved by the icons to be rearranged is short, the user can visually see how the icons have changed position before and after the icon movement by slowing down the animation speed.
[0157] <Second Embodiment> In the first embodiment, when a predetermined icon is dragged and dropped, the animation speed of the icons to be sorted is changed based on the distance moved by the icons other than the predetermined icon. In contrast, in the second embodiment, the animation speed of the icons to be sorted is changed according to the number of icons to be sorted. This will be explained below with reference to Figures 20 and 21.
[0158] Steps S1401-S1423 and S1427 in Figure 20 are the same processes as S1401-S1423 and S1427 in Figure 14, so redundant explanations are omitted. In S2001, processor 100 obtains the number of icons to be sorted, num, which was obtained in S1514 within S1419. Also in S2001, processor 100 determines the animation speed of the icons to be sorted according to the number of icons to be sorted.
[0159] As shown in Figure 21, a speed table 2101 that holds the correspondence between the number of icons to be sorted and the common movement speed V [pixels / frame] of the icons is pre-stored in the HDD 103 or the like. In S2001, the processor 100 refers to the speed table 2101 to obtain the common movement speed (distance moved per frame) of the icons corresponding to the number of icons to be sorted. The speed table 2101 shown in Figure 21 will be explained below.
[0160] In the speed table 2101, five ranges are set for the number of icons to be sorted (2102): 1-3, 4-6, 7-9, 10-12, and 13-14.
[0161] In the speed table 2101, a common movement speed (distance moved per frame [pixels / frame]) 2103 is set corresponding to the number of icons to be sorted 2102. The common movement speed V [pixels / frame] 2103 of the icons to be sorted is set to decrease as the number of icons to be sorted 2102 increases.
[0162] In the example shown in Figure 6, the number of icons to be sorted is 10, so the movement speed is 40 [pixels / frame].
[0163] In S2002, the processor 100 does the following: it displays an animation in the icon area 300 showing each icon selected as a sorting target in S1419 moving from its original position to its new position according to a Z-shaped array at a common movement speed determined in S2001. After that, the processor 100 returns to processing in S1403.
[0164] Based on the above, the animation speed of the icons can be changed according to the number of icons to be sorted, and by slowing down the animation speed when there are many icons to be sorted, the user can visually see the process of the icons moving.
[0165] <Third Embodiment> In the third embodiment, the animation speed of the icons to be rearranged is changed according to the number of icons displayed on one page. This will be explained below with reference to Figures 22 and 23.
[0166] Since steps S1401-S1423 and S1427 in Figure 22 are the same as steps S1401-S1423 and S1427 in Figure 14, redundant explanations are omitted. In S2201, processor 100 determines the animation speed of the icons to be sorted according to the number of icons to be displayed on the page.
[0167] As shown in Figure 23, a speed table 2301 that maintains the correspondence between the number of icons present on the displayed page and the common movement speed V [pixels / frame] of the icons is pre-stored in the HDD 103 or the like. In S2201, the processor 100 refers to the speed table 2201 to obtain the common movement speed (distance moved per frame) of the icons corresponding to the number of icons present on the displayed page. The speed table 2301 shown in Figure 23 will be explained below.
[0168] In the speed table 2301, six ranges are set for the number of icons 2302 present on the displayed page: 1-3, 4, 5-6, 7-9, 10-12, and 13-15.
[0169] In the speed table 2301, the movement speed (distance moved per frame [pixels / frame]) 2303 is set to correspond to the number of icons 2302 present on the displayed page. The movement speed V [pixels / frame] 2303 of the icons to be sorted is set to decrease as the number of icons on the displayed page increases.
[0170] In the example shown in Figure 6, there are 15 icons on the displayed page, so the movement speed is 30 pixels per frame.
[0171] In S2202, the processor 100 displays in the icon area 300 an animation showing each icon selected as a sorting target in S1419 moving from its original position to its new position according to a Z-shaped array at the movement speed determined in S2201. After that, the processor 100 returns to processing in S1403.
[0172] Therefore, the animation speed of the icons can be changed according to the number of icons on the displayed page. By slowing down the animation speed when there are many icons on the displayed page, users can visually observe the progress of the icons' movement.
[0173] <Other Embodiments> In the first embodiment, a speed table 1901 is used to determine a common movement speed to be applied to all icons to be sorted, based on the minimum movement distance of all icons to be sorted. In the second embodiment, a speed table 2101 is used to determine a common movement speed to be applied to all icons to be sorted, based on the total number of icons to be sorted. In the third embodiment, a speed table 2301 is used to determine a common movement speed to be applied to all icons to be sorted, based on the total number of icons present on the displayed page.
[0174] However, in the first embodiment, the common movement speed corresponding to the minimum movement distance may be determined using a formula that represents the relationship between the two, without using any table. In the second embodiment, the common movement speed corresponding to the total number of icons to be sorted may be determined using a formula that represents the relationship between the two, without using any table. In the third embodiment, the common movement speed corresponding to the total number of icons present on the displayed page may be determined using a formula that represents the relationship between the two, without using any table.
[0175] In the first embodiment, a movement speed may be determined for each icon to be moved based on the movement distance obtained in S1803 or S1804, and such a movement speed may be applied to each icon. In that case, S1805 is omitted. Also, in S1425, the movement speed is determined individually for each icon to be sorted. Furthermore, in S1426, each icon to be sorted moves at a different movement speed. That is, in S1426, icons with a smaller movement distance move at a slower movement speed than icons with a larger movement distance.
[0176] The first and second embodiments may be combined. For example, the smaller of the common movement speed obtained by the first embodiment and the common movement speed obtained by the second embodiment may be used. Alternatively, a common movement speed for a combination of the icon's movement distance and the total number of icons to be sorted may be predetermined, and a table or formula representing this may be used.
[0177] The first and third embodiments may be combined. For example, the smaller of the common movement speed obtained by the first embodiment and the common movement speed obtained by the third embodiment may be used. Alternatively, a common movement speed for a combination of the icon's movement distance and the total number of icons on the displayed page may be predetermined, and a table or formula representing this may be used.
[0178] The second and third embodiments may be combined. For example, the smaller of the common movement speed obtained by the second embodiment and the common movement speed obtained by the third embodiment may be used. Alternatively, a common movement speed for a combination of the total number of icons to be sorted and the total number of icons on the displayed page may be predetermined, and a table or formula representing this speed may be used.
[0179] The first to third embodiments may be combined. For example, the smallest movement speed among the common movement speeds obtained by the first embodiment, the second embodiment, and the third embodiment may be used. Alternatively, the movement speed for a combination of the minimum movement distance of an icon, the total number of icons to be sorted, and the total number of icons on the displayed page may be predetermined, and a table or formula representing this may be used.
[0180] Embodiments of the present invention may also be implemented by a computer in a system or device that includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions of the above embodiments, which are recorded on a storage medium (which may be more entirely referred to as a “non-temporary computer-readable storage medium”), and / or for performing one or more functions of the above embodiments, and / or for performing one or more functions of the above embodiments, and or by being implemented by a computer in a system or device that includes one or more circuits (e.g., application-specific integrated circuits (ASICs)) for performing one or more functions of the above embodiments, which are recorded on a storage medium. The computer may comprise one or more processors (e.g., a central processing unit (CPU), a microprocessor (MPU)), and may include separate computers or a network of separate processors for reading and executing computer-executable instructions. Computer-executable instructions may be provided to the computer from, for example, a network or a storage medium. The storage medium may include, for example, one or more of the following: hard disks, random access memory (RAM), read-only memory (ROM), storage for distributed computing systems, optical discs (Compact Discs (CDs), Digital Multipurpose Discs (DVDs), or Blu-ray Discs (BDs) (registered trademarks)), flash memory devices, and memory cards.
[0181] <Technical Features of This Disclosure> This disclosure includes the following configurations, methods, and programs.
[0182] [Configuration 1] A display control means for displaying multiple display objects on the screen, In the aforementioned screen, a means for moving the display object to be moved, A determination means for determining the movement speed when the display object moves based on information about the display object, Equipped with, The display control means displays the movement of the target display object at the movement speed determined by the determination means. An image processing apparatus characterized by the following:
[0183] [Configuration 2] The system further comprises identification means for identifying the display object to be moved by the moving means, based on the source position and destination position of the display object on the screen that has been moved by the user. The image processing apparatus according to configuration 1, characterized in that...
[0184] [Configuration 3] The determination means, when there are multiple display objects to be moved, determines the movement speed to be applied to all of the display objects to be moved based at least on the movement distance of the display object with the shortest movement distance among the display objects to be moved. An image processing apparatus according to configuration 1 or 2, characterized by the above.
[0185] [Structure 4] The determination means determines the movement speed such that, when there are multiple display objects to be moved, the movement speed applied to all display objects to be moved decreases as the movement distance of the display object with the shortest movement distance decreases. An image processing apparatus according to any one of configurations 1 to 3, characterized by the above.
[0186] [Composition 5] The determination means, when there are multiple display objects to be moved, determines the movement speed of each of the display objects to be moved based at least on the movement distance of each of the display objects to be moved. An image processing apparatus according to any one of configurations 1 to 4, characterized in that...
[0187] [Composition 6] The determination means determines the movement speed for each of the display objects to be moved, such that if there are multiple display objects to be moved, the movement speed decreases as the movement distance for each of the display objects to be moved decreases. An image processing apparatus according to any one of configurations 1 to 5, characterized by the above.
[0188] [Composition 7] The determination means determines the movement speed to be applied in common to the display objects to be moved, based at least on the number of display objects to be moved. An image processing apparatus according to any one of configurations 1 to 6, characterized by the above.
[0189] [Structure 8] The determination means determines the movement speed such that, when there are multiple display objects to be moved, the movement speed applied to all display objects to be moved decreases as the number of display objects to be moved increases. An image processing apparatus according to any one of configurations 1 to 7, characterized by the above.
[0190] [Composition 9] The screen consists of multiple pages, and the determination means determines the movement speed to be applied in common to the display objects to be moved, based at least on the number of display objects present on the page being displayed. An image processing apparatus according to any one of configurations 1 to 8, characterized by the above.
[0191] [Configuration 10] The screen consists of multiple pages, and the determination means determines the movement speed such that the movement speed applied to all display objects to be moved decreases as the number of display objects on the displayed page increases. An image processing apparatus according to any one of configurations 1 to 9, characterized by the above.
[0192] [Composition 11] A display object moved by the user is a display object moved by the user using drag-and-drop. An image processing apparatus according to any one of configurations 1 to 10, characterized by the above.
[0193] [method] A display control step that displays multiple display objects on the screen, In the aforementioned screen, the movement step involves moving the display object to be moved, A determination step of determining the movement speed when the display object moves based on the information about the display object, It has, The display control step displays the movement of the target display object at the movement speed determined in the determination step. A control method characterized by the following:
[0194] [program] A program that causes a computer to execute a control method, A display control step that displays multiple display objects on the screen, In the aforementioned screen, the movement step involves moving the display object to be moved, A determination step of determining the movement speed when the display object moves based on the information about the display object, Have the computer run it, In the display control step, the movement of the display object to be moved at the movement speed determined in the determination step is displayed. A program characterized by the following features.
Claims
1. A display control means for displaying multiple display objects on the screen, In the aforementioned screen, a means for moving the display object to be moved, A determination means for determining the movement speed when the display object moves based on information about the display object, Equipped with, The display control means displays the movement of the target display object at the movement speed determined by the determination means. An image processing apparatus characterized by the following:
2. The system further comprises identification means for identifying the display object to be moved by the moving means, based on the source position and destination position of the display object on the screen that has been moved by the user. The image processing apparatus according to feature 1.
3. The determination means, when there are multiple display objects to be moved, determines the movement speed to be applied to all of the display objects to be moved based at least on the movement distance of the display object with the shortest movement distance among the display objects to be moved. The image processing apparatus according to feature 1.
4. The determination means determines the movement speed such that, when there are multiple display objects to be moved, the movement speed applied to all display objects to be moved decreases as the movement distance of the display object with the shortest movement distance decreases. The image processing apparatus according to feature 1.
5. The determination means, when there are multiple display objects to be moved, determines the movement speed of each of the display objects to be moved based at least on the movement distance of each of the display objects to be moved. The image processing apparatus according to feature 1.
6. The determination means determines the movement speed for each of the display objects to be moved, such that if there are multiple display objects to be moved, the movement speed decreases as the movement distance for each of the display objects to be moved decreases. The image processing apparatus according to feature 1.
7. The determination means determines the movement speed to be applied in common to the display objects to be moved, based at least on the number of display objects to be moved. The image processing apparatus according to feature 1.
8. The determination means determines the movement speed such that, when there are multiple display objects to be moved, the movement speed applied to all display objects to be moved decreases as the number of display objects to be moved increases. The image processing apparatus according to feature 1.
9. The screen consists of multiple pages, and the determination means determines the movement speed to be applied in common to the display objects to be moved, based at least on the number of display objects present on the page being displayed. The image processing apparatus according to feature 1.
10. The screen consists of multiple pages, and the determination means determines the movement speed such that the movement speed applied to all display objects to be moved decreases as the number of display objects on the displayed page increases. The image processing apparatus according to feature 1.
11. A display object moved by the user is a display object moved by the user using drag-and-drop. The image processing apparatus according to feature 1.
12. A display control step that displays multiple display objects on the screen, In the aforementioned screen, the movement step involves moving the display object to be moved, A determination step of determining the movement speed when the display object moves based on the information about the display object, It has, The display control step displays the movement of the target display object at the movement speed determined in the determination step. A control method characterized by the following:
13. A program that causes a computer to execute a control method, A display control step that displays multiple display objects on the screen, In the aforementioned screen, the movement step involves moving the display object to be moved, A determination step of determining the movement speed when the display object moves based on the information about the display object, Have the computer run it, In the display control step, the movement of the display object to be moved at the movement speed determined in the determination step is displayed. A program characterized by the following features.
Citation Information
Patent Citations
Device, control method thereof, and program
JP2021128496A