The present invention generally relates to a display control device and a display control program.
Display control devices are known that display a plurality of objects onto a screen.
For example, Patent Document 1 (US 2020/0110528 A) describes a display control device in which a portion of the widgets among a plurality of widgets aligned in a prescribed order are displayed on a screen. In this display control device, widgets on-screen are displayed as scrolling by changing a framing area in response to a scrolling operation.
In the display control device described in Patent Document 1, when a widget positioned at an end of the screen is scrolled in an off-screen direction, only a portion of the widget ceases to be displayed. In such a state, it becomes difficult for users to see the widget.
In light of the circumstances described above, an object of the present application is to provide a display control device and display control program in which reduction in object visibility can be suppressed even when an object such as a widget is scrolled in an off-screen direction.
The display control device according to one embodiment of the present application includes an operation reception unit, an area updating unit, and an object updating unit. The operation reception unit receives scrolling operations on a screen in which a partial area of a virtual space is displayed. A plurality of objects is arranged in the virtual space and some of the plurality of objects in the partial area are displayed on the screen. The area updating unit updates the partial area within the virtual space displayed on the screen in response to a scroll amount received by the operation reception unit. The object updating unit changes shape or size of the object so that the object fits within the partial area if the object is predicted to extend outside of the partial area updated by the area updating unit.
According to one embodiment of the present application, a display control device and display control program are provided in which reduction in object visibility can be suppressed even when an object such as a widget is scrolled in an off-screen direction.
The following description relates to a display control device and a display control program of one embodiment according to the present application. Note that common or corresponding elements are marked with the same or similar reference codes, and duplicate descriptions are simplified or omitted as appropriate.
One example of the display control device according to one embodiment of the present application is an in-vehicle apparatus, including, for example, a navigation device or IVI (in-vehicle infotainment). Note that the display control device is not limited to in-vehicle apparatuses, and may be a device of another form such as a smartphone, feature phone, tablet terminal, personal computer (PC), personal digital assistant (PDA), portable navigation device (PND), handheld gaming device, and the like.
The control unit 100 controls the entire display control device 1. The control unit 100 is configured, for example, of a microcomputer composed of a CPU 100A, a RAM (random access memory) 100B, a ROM (read only memory) 100C, an I/O port 100D, and a bus line connecting these ports.
The CPU 100A reads in a program stored in the ROM 100C, decompresses the program in a work area saved on the RAM 100B, and controls the display control device 1 according to this program.
The program executed by the control unit 100 includes a display control program 102 according to one embodiment of the present application.
The CPU 100A may be a single processor or a multiprocessor, however, the control unit includes at least one processor. When configured to include a plurality of processors, the control unit 100 may be packaged as a single device or may be configured of a plurality of physically separate devices within the display control device 1.
The ROM 100C is non-volatile memory for storing data and various programs including the display control program 102. The ROM 100C is, for example, flash memory. The display control program 102 may be stored in the storage unit 130, described below.
The control unit 100 has, as functional blocks, an operation reception unit 200A, an area updating unit 200B, an object changing unit 200C, a symbol display unit 200D, a screen data generation unit 200E, and a screen output unit 200F. Each functional block is implemented by the display control program 102, which is software. Each functional block may be partially or wholly implemented by hardware such as a dedicated logic circuit.
The operation reception unit 200A detects various touch operations on a screen, such as a touch-on, touch-off, flick, swipe, and drag. In the present embodiment, displays on the screen are scrolled via a swipe. As such, swipe is one type of scroll operation. “Swipe” may also be called “slide”.
Furthermore, the operation reception unit 200A detects coordinates on the touch-operated screen.
The operation reception unit 200A receives, as one example of an action, scrolling operations on a screen in which a portion of the objects in a partial area of a virtual space among a plurality of objects arranged in the virtual space are displayed. Hereinafter, the reference alphanumeric VS1 is added to “virtual space”. A virtual space VS1 is a two-dimensional or three-dimensional virtual space.
An object is a display on the screen symbolizing an application type or information processed by the application, and is variable in shape and size. Examples include widgets, icons, thumbnail images, pop-ups, lists, information display windows, and the like. In the present embodiment, a widget is a display including the interface components of a GUI (graphical user interface), wherein, for example, results processed by the application which correspond to the widget are displayed, and a reception portion for receiving instructions to be processed by the application is laid out. Objects may also be called contents.
The area updating unit 200B updates an area within the virtual space VS1 displayed on the screen in response to a scroll amount received by the operation reception unit 200A. Hereinafter, a partial area displayed on the screen within the virtual space VS1 is denoted “area R1”.
The object changing unit 200C changes at least either an object shape or size when, in an area R1 updated by the area updating unit 200B, there is an object partially outside the area R1, so that the object fits inside the area R1.
In other words, the display control program 102 receives a scrolling operation on the screen, on which a portion of objects in the area R1 among a plurality of objects arranged in the virtual space VS1 is displayed, the area R1 updates in response to a received scroll amount, and at least either an object shape or size is changed when, in the updated area R1, there is an object partially outside the area R1, so that the object fits within the area R1 with this series of processes being executed on the display control device 1, one example of which is a computer.
Execution of this display control program 102 allows reduction in object visibility to be suppressed even when an object is scrolled in an off-screen direction. Details of the display control program 102 are described below.
In addition, the display control device 1, one example of which is a computer, executes a display control method according to one embodiment of the present application using the display control program 102.
The symbol display unit 200D displays symbols respectively representing the plurality of objects so that users are able to intuitively grasp the status of objects, as relating to the screen display.
The screen data generation unit 200E generates screen data in the area R1.
The screen output unit 200F outputs screen data generated by the screen data generation unit 200E on the screen.
The I/O port 100D connects the control unit 100 with each unit (specifically, the communication interface unit 110, the operation unit 120, the storage unit 130, the display unit 140, the audio output unit 150, and the vibration unit 160).
The communication interface unit 110 is an interface that handles communication processing with other terminal devices. The display control device 1 is connected to other terminal devices by the communication interface unit 110 via a communication line for a public line or a closed network such as a VPN (virtual private network), enabling intercommunication.
The operation unit 120 is an operation member such as a dial, button, or switch for users to operate the display control device 1.
The storage unit 130 is an auxiliary storage device such as an HDD (hard disk drive) or SSD (solid state drive) that stores various programs and data.
The storage unit 130 stores data for displaying widgets, being one example of an object. For convenience, the reference alphanumeric W is added to “widget”.
A widget W stored in the storage unit 130 includes, for example: widgets for conducting display related to navigation functions, widgets for displaying an overhead image of a vehicle when parked, widgets for operating the audio functions of in-vehicle apparatuses including navigation devices, widgets for selecting radio stations and the like, widgets for adjusting the air temperature and air volume of an air conditioner installed in the vehicle, and widgets for displaying and setting various information relating to the vehicle (speedometer, tachometer, and the like).
The display unit 140 has a touch panel display 142 and a display driver 144 that drives the touch panel display 142. The touch panel display 142 is configured to be touch-operable over the entire area of the screen. Note that “touch panel displays” may also simply be called “touch panels” or “touch screens”.
In the touch panel display 142, for example, an LCD (liquid crystal display) or organic EL (electroluminescence) is used, and operations performed thereon are detected by, for example, a resistive film, capacitance, ultrasonic surface acoustic wave, infrared optical imaging, or electromagnetic induction method. The touch panel display 142 has a built-in pressure sensor 146 that detects pressure touching the screen (in other words, a touch-operable area).
The audio output unit 150 has a speaker 152 and a speaker driver 154 that drives the speaker 152. By driving the speaker 152 using the speaker driver 154, for example, navigation audio, music, or the like stored in the ROM 100C and storage unit 130 is output from the speaker 152.
The vibration unit 160 has a vibrator 162 and a vibrator driver 164 that drives the vibrator 162. The vibrator 162 is configured, for example, using an ERM (eccentric rotating mass), LRA (linear resonant actuator), or piezoelectric actuator. By driving the vibrator 162 using the vibrator driver 164, the screen of the touch panel display 142 vibrates.
The control unit 100 vibrates, for example, the screen of the touch panel display 142 by driving and controlling the vibration unit 160 in response to a touch operation on a widget W.
In the example in
In
In the following, widgets W to which a number is added (that is, the widgets W1 to W7) are denoted only in cases where the widgets are individually demarcated for description. Furthermore, for convenience, the various information relating to the widgets W is denoted “widget information WIF”. When describing widget information WIF specific to a widget W1 to W7, the same number as the widget W is added to the widget information WIF. As one example, the widget information WIF for the widget W1 is denoted “widget information WIF1”.
According to the set shape and set size included in the widget information WIF, the shape and size of the widget W are determined to be, for example, the shape and size shown in
The set shape and set size included in the widget information WIF is one example of a “preset shape and size”. Note that the widget information WIF may be arbitrarily changed by user actions.
For example, users can change the set shape and set size of a widget W. The changed shape and size are respectively recorded in the widget information WIF as “changed shape” and “changed size”. Furthermore, for example, users can change the positions of the widgets W within the virtual space VS1, and change the alignment sequence of the widgets W.
The control unit 100 reads-out widget information WIF stored in the storage unit 130 and arranges the widgets W in the virtual space VS1 according to the read-out widget information WIF. Each component of the widgets W is arranged, for example, within the widgets W in an initial preset layout.
The storage unit 130 stores hardware information (screen 148 size, aspect ratio, resolution, and the like) of the touch panel display 142. The control unit 100 sets the area R1 to have a shape and size according to this hardware information, and sets the position of the area R1 within the virtual space VS1. In the example in
Note that the control unit 100 may arrange (portray) only a portion of the widgets W (for example, widgets W positioned in the vicinity of the area R1) in the virtual space VS1. In this case, when the area R1 moves, widgets W positioned in the vicinity of the moved area R1 are portrayed in the virtual space VS1.
The control unit 100 generates screen data for the area R1 (in the example in
Note that a status bar STB is displayed on the screen 148 for users to intuitively grasp the status of the widgets W, as relating to the screen display. The details of this status bar STB are described below.
The control unit 100 receives a scrolling operation on the screen 148 in the direction of the arrow SL1 (left-hand direction of the screen). The position of the area R1 within the virtual space VS1 moves in response to the received scrolling operation. By generating and outputting screen data for the area R1 according to a frame rate, the widgets W are displayed as scrolling on the screen 148.
Users can conduct scrolled display of the widgets W by swiping on the screen 148, and can conduct scrolled display of the widgets W via operation of the dial or button included in the operation unit 120.
In the present embodiment, the minimum scroll amount unit is the width of one of the widgets W1, W2, and W4 to W7. Note that the minimum scroll amount unit is not limited to this. An example is given later, but the minimum scroll amount unit may be smaller. For convenience, the minimum scroll amount unit is denoted “scroll amount MIN”.
For example, when a scrolling operation in the left-hand direction of the screen is continued, the scrolling screen stops at the position where the widget W7 on the rightmost side is displayed. Furthermore, for example, when a scrolling operation in the right-hand direction of the screen is continued, the scrolling screen stops at the position where the widget W1 on the leftmost side is displayed.
Furthermore, the scrolling screen may cycle without stopping. For example, when a scrolling operation in the left-hand direction of the screen is performed in a state where the widgets W5 to W7 are displayed in order from the left of the screen, the screen scrolls and the widgets W6, W7, and W1 are displayed in order from the left of the screen. Furthermore, for example, when a scrolling operation in the right-hand direction of the screen is performed in a state where the widgets W1 to W3 are displayed in order from the left of the screen, the screen scrolls and the widgets W7, W1, and W2 are displayed in order from the left of the screen.
As illustrated in
To prevent such reductions in visibility, the control unit 100 executes a display control process, described subsequently, by means of the display control program 102.
The control unit 100 arranges each of the widgets W in the virtual space VS1 according to the widget information WIF of each of the widgets W (step S101).
The control unit 100 sets the area R1 to have a shape and size according to the hardware information of the touch panel display 142, and sets a prescribed position of the area R1 within the virtual space VS1 (step S102).
The control unit 100 generates the status bar STB (step S103).
The control unit 100 acquires the status of each of the widgets W, as relating to the screen display (step S103a).
Below is a list of statuses of the widgets W, as relating to the screen display:
The storage unit 130 stores symbols SB (image data) representing forms of each set shape and set size of the widgets W. For example, the storage unit 130 stores symbols SB for a first shape and size that correspond to the widgets W1, W2, and W4 to W7, and symbols SB for a second shape and size that correspond to the widget W3, the longitudinal widths of which are greater than those of the first shape and size.
The control unit 100 acquires the symbols SB corresponding to each of the widgets W from within the storage unit 130 (step S103).
The control unit 100 determines a color for the symbol SB of each of the widgets W according to the status acquired in step S103a (step S103c).
To give an example, the control unit 100 determines the color of a symbol SB for status (1) widgets W to be red. Furthermore, the control unit 100 determines the color of a symbol SB for status (2) widgets W to be blue. Furthermore, the control unit 100 determines the color of a symbol SB of status (3) widgets W to be white.
The control unit 100 determines the alignment position of each symbol SB according to the alignment positions of widgets W arranged in the virtual space VS1 (step S103d).
For convenience, the symbols SB representing the widgets W1 to W7 are respectively denoted by the symbols SB1 to SB7. In step S103d, the alignment positions of the symbols SB1 to SB7 are determined in order from left to right.
The control unit 100 generates the status bar STB (image data) in which each of the symbols SB are positioned in the alignment positions determined in step S103d (step S103e).
Thus, the symbols SB, which reflect the status and form (shape and size) of each of the widgets W, are aligned according to the alignment position within the virtual space VS1.
The description returns to that of
Specifically, the control unit 100 generates screen data for the area R1 (in the example in
The control unit 100 maintains the screen data generated in step S104, for example, in the video memory area allocated to a portion of the RAM 100B, and outputs such to the display unit 140 (step S105). This allows, for example, the image shown in
In the example in
Thus, the control unit 100 acts as the symbol display unit 200D, which displays the symbols SB respectively representing the plurality of widgets W (one example of an object) on the screen 148. The control unit 100 acting as the symbol display unit 200D displays the symbols respectively representing the plurality of widgets W according to the alignment positions of the plurality of widgets W in the virtual space VS1, and displays the symbols SB representing the widgets W positioned within the area R1 and the symbols SB representing the widgets W positioned outside the area R1, which can be demarcated by different colors or the like.
Furthermore, the control unit 100 acting as the symbol display unit 200D displays the symbols SB respectively representing the plurality of widgets W in a form exhibiting a preset shape and size (for example, the first size and second size described above) of the widgets W.
The control unit 100 awaits a scrolling operation on the screen 148 (step S201).
When the control unit 100 detects and receives a scrolling operation on the screen 148 (step S201: YES), the area R1 moves in response to an amount of scrolling thereof (step S202).
Thus, the control unit 100 acts as the operation reception unit 200A, which receives scrolling operations on the screen 148, on which a portion of the widgets W among the plurality of widgets W arranged in the virtual space VS1 are displayed.
Furthermore, the control unit 100 updates the area R1 within the virtual space VS1 displayed on the screen 148 in response to a scroll amount received by the operation reception unit 200A, acting as the area updating unit 200B.
The control unit 100 detects, in the moved area R1, widgets W at least partially outside the area R1 (step S203).
Upon detecting, in the moved area R1, a widget W at least partially outside the area R1 (step S203: YES), the control unit 100 determines whether an entirety of this widget W is outside the area R1 (step S204).
When, in the moved area R1, a widget W is only partially outside the area R1 (step S204: NO), the control unit 100 changes at least either the shape or size of this widget W (step S205).
In the example in
The vertically-oriented rectangle described above is the largest shape and size in the moved area R1 that can accommodate the widget W3. That is, the control unit 100 acting as the object changing unit 200C changes, in the moved area R1, to the largest shape and size in the moved area R1 that can accommodate the widget W partially outside the area R1.
The control unit 100 updates the “changed shape” and “changed size” information included in widget information WIF3 to the shape and size of the changed widget W3 (step S206).
For widgets W whose shape and size have been changed, the control unit 100 rearranges components within the widget W (step S207).
“Component information” included in the widget information WIF includes a priority attached to each component. The control unit 100 conducts rearrangement of the components based on this priority according to a prescribed algorithm. To give an example, the control unit 100 rearranges components to positions that are near their prearranged positions by highest priority, and does not rearrange low priority components (in other words, low priority components are not displayed within the changed widget).
The control unit 100 updates the status bar STB (step S208). In the example in
Thus, the control unit 100 acts as the symbol display unit 200D, displaying the symbol SB (for example, the symbol SB3) representing the widget W having at least either the shape or size changed by the object changing unit 200C, which can be demarcated from the symbols SB representing the other widgets W (here, the color of the symbol SB3 is displayed as blue).
The control unit 100 generates image data as in steps S104 and S105 in
This allows, for example, the image shown in
Thus, when there is, in the area R1 updated by the area updating unit 200B, a widget W partially outside the area R1, the control unit 100 acts as the object changing unit 200C, changing the shape and size of the widget W so that the widget W fits within the area R1.
In this case, the control unit 100 updates the status bar STB (step S208). Specifically, the control unit 100 updates the color of the symbol SB3 to white and updates the color of the symbols SB5 and SB6 to red. Subsequently, the control unit 100 generates image data (step S209) and outputs such to the display unit 140 (step S210). The screen 148 displays the widgets W4 to W6.
Note that, for example, in the case where the widgets W4 to W6 are displayed on the screen 148 (see
When scrolling is further conducted only the scroll amount MIN in the right-hand direction of the screen from this state, the area R1 further moves, and the entirety of the widget W3 fits in the area R1. In this case, the control unit 100 returns the widget W3 to its original shape and size (set shape and set size). This allows the widget W3 to be displayed on the screen 148 as a horizontally-oriented rectangle (original shape and size) as illustrated in
Thus, when the widget W changed from its preset shape and size becomes able to fit in the moved area R1 even in its preset shape and size, the control unit 100 acting as the object changing unit 200C returns the widget W to its preset shape and size.
The description provided thus far is a description of exemplar embodiments of the present invention. The embodiments of the present invention are not limited to those described above, and various modifications are possible within the scope of the technical concept of the present invention. For example, appropriate combinations of embodiments and the like that are explicitly indicated by way of example in the specification or obvious embodiments and the like are also included in the embodiments of the present application.
In the above description, the widget 3 is changed from a horizontally-oriented rectangle to a vertically-oriented rectangle in response to a scrolling operation, however, for example, the size of the widget W3 may be scaled-down alone to fit within the area R1, maintaining the horizontally-oriented rectangle as-is (that is, the widget W3 may be scaled-down vertically and horizontally at the same ratio while the form of the widget W3 is maintained as-is). Furthermore, the widget W3 may be changed from a rectangle to another form such as a circle or polygon.
That is, when there is, in the area R1 updated by the area updating unit 200B, a widget W partially outside the area R1, the control unit 100 acting as the object changing unit 200C may change, among the shape and size of the widget W, the size alone, so that the widget W fits within the area R1.
In the embodiment described above, the scroll amount MIN, being the minimum scroll amount unit, is one width of the widget W1, however, the scroll amount MIN may be smaller.
That is, the control unit 100 acting as the object changing unit 200C changes the size of a widget W in increments of a prescribed unit (for example, a scroll amount MIN unit), between a preset size and a size corresponding to the scroll amount MIN (minimum scroll amount unit), and in cases where the widget W does not fit in the area R1 until the widget is smaller than the size corresponding to the scroll amount MIN, the widget W does not fit within the area R1.
The display form of the status bar STB is not limited to the embodiment described above.
In the example of
In the example of
Thus, there is flexibility in the display form of the status bar STB, and a variety of display forms can be employed.
In the embodiment described above, the widgets W are aligned and arranged in a single series in the x1-axis direction of the two-dimensional virtual space VS1, however, examples of widget W arrangement are not limited to this.
In the example in
In the example in
In the example in
In the example in
In the example in
Number | Date | Country | Kind |
---|---|---|---|
2023-057153 | Mar 2023 | JP | national |